MyDialog.java:
package com.weijie.app_user.activity.login; import android.app.Dialog; import android.content.Context; import android.view.Gravity; import android.view.View; import android.view.Window; import android.view.WindowManager; public class MyDialog extends Dialog { private static int default_width = 160; //默认宽度 private static int default_height = 120;//默认高度 public MyDialog(Context context, View layout, int style) { this(context, default_width, default_height, layout, style); } public MyDialog(Context context, int width, int height, View layout, int style) { super(context, style); setContentView(layout); Window window = getWindow(); WindowManager.LayoutParams params = window.getAttributes(); params.width=width; params.height=height; params.gravity = Gravity.CENTER; window.setAttributes(params); } }
cztest_main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/mybut" android:text="测试" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
CzTestActivity.java:
package com.weijie.app_user.activity.test; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.PopupWindow; import com.weijie.app_user.R; import com.weijie.app_user.activity.login.MyDialog; public class CzTestActivity extends Activity { private Button mybut = null; // 定义按钮 private PopupWindow popWin = null; // 弹出窗口 private View popView = null; // 保存弹出窗口布局 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.cztest_main); // 调用布局管理器 this.mybut = (Button) super.findViewById(R.id.mybut); // 取得按钮 this.mybut.setOnClickListener(new OnClickListenerImpl()); // 设置事件类 } // 新版本 private class OnClickListenerImpl implements OnClickListener { @Override public void onClick(View view) { View view1 = getLayoutInflater().inflate(R.layout.login_newversion_dialog, null); MyDialog myDialog = new MyDialog(CzTestActivity.this, 300, 200, view1, R.style.self_dialog); // 设置对话框显示的View myDialog.show(); } } // 选择社交平台弹出窗 /* * private class OnClickListenerImpl implements OnClickListener { * * @Override public void onClick(View view) { LayoutInflater inflater = * LayoutInflater.from(CzTestActivity.this); // 取得LayoutInflater对象 * CzTestActivity.this.popView = inflater.inflate( * R.layout.login_social_platform_dialog, null); // 读取布局管理器 * CzTestActivity.this.popWin = new PopupWindow(popView, * LayoutParams.MATCH_PARENT, 380, true); // 实例化PopupWindow // * 设置PopupWindow的弹出和消失效果 * * CzTestActivity.this.popWin .setAnimationStyle(R.style.popupAnimation); * * CzTestActivity.this.popWin.showAtLocation( CzTestActivity.this.mybut, * Gravity.BOTTOM, 0, 0); // 显示弹出窗口 } } */ }
login_newversion_dialog.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/rounded_corners_view" android:orientation="vertical" android:fadingEdge="none" style="@android:style/Theme.Dialog"> <LinearLayout android:layout_width="fill_parent" android:layout_height="40dp" android:background="@drawable/round_corner_view_title" android:gravity="center" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="提 示" android:textColor="@color/black" android:textSize="20sp" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:gravity="center" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发现新版本" android:textColor="#333" android:textSize="18sp" /> </LinearLayout> <!-- 版本提示 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:gravity="center" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="v3.5.0" android:textColor="#717171" android:textSize="18sp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/setting_arrow" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:text="v3.5.1" android:textColor="#ff6600" android:textSize="18sp" /> </LinearLayout> <!-- 按钮 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" android:layout_marginBottom="15dp" android:gravity="center" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/textview_style_cancle_gray" android:layout_marginRight="20dp" android:text="取 消" android:textColor="@color/white" android:textSize="18sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/textview_style_update_yellow" android:text="更 新" android:textColor="@color/white" android:textSize="18sp" /> </LinearLayout> </LinearLayout>
rounded_corners_view.xml:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#ffffff" /> <stroke android:width="1dp" android:color="#797979" /> <corners android:radius="10dp" /> <!-- <padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp" /> --> </shape>
round_corner_view_title.xml:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#DBD9DA" /> <stroke android:width="1dp" android:color="#797979" /> <corners android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp" android:topLeftRadius="10dp" android:topRightRadius="10dp" /> <!-- <padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp" /> --> </shape>
<style name="self_dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">0.6</item>
</style>
相关推荐
本项目名为“android自定义圆角dialog”,旨在提供一种解决方案,以创建具有圆角效果的自定义Dialog,从而提升应用的用户体验。 首先,我们要理解Dialog的基本概念。Dialog是Android系统提供的一种弹出式窗口,它...
本文将深入探讨如何实现自定义圆角Dialog,并提供相关的代码示例。 首先,我们要明白Dialog是Android中一个轻量级的UI组件,它用于向用户展示临时信息或进行简单的交互。通常,Dialog会浮现在应用程序的顶部,不...
个人做的自定义搜索界面,包括自定义搜索框,边输入边搜索,文字监听,有文字时,出现删除按钮,可删除,还有自定义圆角dialog以及通过FlowLayout流式布局实现历史标签展示,更重要的是有搜索词颜色改变方法,有需要...
本文将详细讲解如何在Android中创建自定义的圆角Dialog。 首先,我们需要了解Dialog的基本结构。Dialog是基于对话框窗口构建的,通常包含一个背景、标题、内容区域以及按钮等元素。自定义Dialog主要涉及以下几个...
本篇将详细介绍如何去除Android自定义Dialog的白色边框。 首先,我们需要创建一个自定义的主题(style)来改变Dialog的默认外观。在项目的`res/values`目录下,如果没有`styles.xml`文件,需要创建一个。然后在`...
在Android开发中,自定义对话框(Dialog)和圆角弹窗是常见需求,用于提供用户交互或展示信息。本文将深入探讨如何实现一个功能完善的、无错乱现象的自定义多选Dialog,并且带有圆角效果。 首先,我们要了解Android...
本文将深入探讨如何在Android中实现自定义圆角Dialog,并提供相关代码示例。 首先,我们需要理解Dialog的基本结构。Dialog是基于Window的,它的外观和行为由Dialog的主题(Theme)以及布局文件(Layout)决定。我们...
本项目"Android仿淘宝自定义半透明圆角Dialog.zip"旨在实现一个与淘宝应用类似的、具有半透明效果和圆角设计的自定义Dialog。以下将详细讲解如何在Android中实现这样的功能。 首先,我们需要了解Android中的Dialog...
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格或者特定功能来创建具有...在学习和实践中,多参考官方文档和社区资源,如CSDN博客,能帮助你更好地掌握Android自定义Dialog的技巧。
如果想要改变Dialog的默认外观,如背景颜色、圆角等,可以创建一个自定义主题`MyDialogTheme`在`styles.xml`中: ```xml <style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog"> ...
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者创建具有独特设计和功能的对话框,以符合应用的品牌风格或提供更丰富的用户体验。本文将深入探讨如何在Android中实现一个仿iOS风格的Dialog,并根据...
在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格和功能需求创建具有独特外观和行为的对话框。本篇文章将深入探讨如何在Android中自定义Dialog,并结合`mcustom-HerilyAlertDialog-...
Android编程自定义圆角半透明Dialog的方法 Android编程中,自定义圆角半透明Dialog是一种常见的需求,特别是在移动应用程序中,Dialog的样式往往需要根据应用程序的整体风格进行自定义。本文将详细介绍Android编程...
本知识点将详细介绍如何在Android中实现一个自定义的圆角Dialog,以及如何确保其在手机和平板上都能正常工作。 首先,我们需要了解Dialog的基本概念。在Android中,Dialog是一个浮动窗口,它覆盖在当前活动...
本示例关注的是如何在Android应用中模仿苹果(iOS)的Dialog样式,创建一个可定制的对话框,包括设置圆角半径和颜色样式。这个自定义Dialog组件允许开发者灵活地调整界面元素,如按钮数量和布局,以适应不同的场景。...
Android提供了AlertDialog.Builder类,可以用来构建自定义Dialog。通过调用`setCustomTitle()`, `setMessage()`, `setView()`等方法,将自定义布局设置到Dialog中。例如: ```java LayoutInflater inflater = ...
2. **自定义Dialog类**:接下来,创建一个继承自`AppCompatDialogFragment`的类,这是Android Studio推荐的Dialog实现方式。在这个类中,你需要重写`onCreateDialog`方法,使用`LayoutInflater`加载你的自定义布局,...
在Android开发中,自定义对话框(Dialog)和提示框是常见的用户界面组件,用于向用户提供信息或进行交互。它们可以增强应用的用户体验,通过定制样式和行为来适应不同的应用场景。本篇将深入探讨如何在Android中实现...