Android自定义对话框Dialog

本文简单介绍自定义对话框Dialog的使用,代码和结构都非常简单,目的是能够快速使用自定义对话框,在本文中不具体讲解对话框的高级使用。

实现步骤

首先需要自己在我们的.xml文件中自己构建布局
布局文件做好之后,我们可以在style文件下自己定义布局的样式
前两步都做好之后,我开始在写java文件

具体实现过程

1.   xml文件

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="300dp" android:layout_height="180dp" android:gravity="center" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:background="@android:color/holo_green_light"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:text="IP设置" android:textColor="#fff" android:textSize="24sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:background="#fff" android:gravity="center" android:orientation="horizontal" android:padding="5dp"> <EditText android:id="@+id/et_ip1" style="@style/textview14sp" android:layout_weight="1" android:inputType="phone" android:maxLength="3" android:textColor="@color/colorPrimary" /> <EditText android:id="@+id/et_ip2" style="@style/textview14sp" android:layout_weight="1" android:inputType="phone" android:maxLength="3" android:textColor="@color/colorPrimary" /> <EditText android:id="@+id/et_ip3" style="@style/textview14sp" android:layout_weight="1" android:inputType="phone" android:maxLength="3" android:textColor="@color/colorPrimary" /> <EditText android:id="@+id/et_ip4" style="@style/textview14sp" android:layout_weight="1" android:inputType="phone" android:maxLength="3" android:textColor="@color/colorPrimary" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="45dp" android:orientation="horizontal"> <Button android:id="@+id/btn_ipok" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="@android:color/holo_green_light" android:text="确认" android:textColor="#fff" android:textSize="30sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#fff" /> <Button android:id="@+id/btn_ipcancle" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="@android:color/holo_green_light" android:text="取消" android:textColor="#fff" android:textSize="30sp" /> </LinearLayout> </LinearLayout>

以上是我的xml代码,里面用到了一些简单的组建,大家按自己的需求和风格制作就行。部分组件中用到了style属性,该属性我们同样是在res/value/style文件中构建.
注意:所有组件的首字母都要大写。

2.  style

<!-- 自定义对话框样式 --> <style name="dialog_custom" parent="android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:background">#00000000</item> <item name="android:windowBackground">@android:color/transparent</item> </style>

3.  class文件

public class IP_dialog extends Dialog { private Button btnOk, btnCancle; private EditText ip1, ip2, ip3, ip4; public static String ip = ""; public IP_dialog(Context context) { super(context, R.style.dialog_custom); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog); initView(); initEvet(); } /*初始化组件*/ private void initView() { btnOk = (Button) findViewById(R.id.btn_ipok); btnCancle = (Button) findViewById(R.id.btn_ipcancle); ip1 = (EditText) findViewById(R.id.et_ip1); ip2 = (EditText) findViewById(R.id.et_ip2); ip3 = (EditText) findViewById(R.id.et_ip3); ip4 = (EditText) findViewById(R.id.et_ip4); } /*监听事件*/ private void initEvet() { btnOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ip = getIP(); Log.e("IP--->", ip); dismiss(); } }); btnCancle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { dismiss(); } }); } /*获取输入的IP值*/ private String getIP() { String ip = ip1.getText().toString().trim() + "." + ip2.getText().toString().trim() + "." + ip3.getText().toString().trim() + "." + ip4.getText().toString().trim(); return ip; } }

该类继承Dialog,在该类中我们需要有一个构造方法在方法里面引用我们的style文件,接下来的就是我们一般套路啦。特别提示一下我在该类中使用dismiss();来销毁对话框。在MainActivity.java中,只需要把这个类实例化一下,创建出对象,调用对象的show();方法就可以将对话框显示出来。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-23 22:57:33

Android自定义对话框Dialog的相关文章

Android自定义对话框Dialog的简单实现

本文着重研究了自定义对话框,通过一下步骤即可清晰的理解原理,通过更改界面设置和style类型,可以应用在各种各样适合自己的App中. 首先来看一下效果图: 首先是activity的界面 点击了上述图片的按钮后,弹出对话框: 点击对话框的确定按钮: 点击对话框的取消按钮: 下面来说一下具体实现步骤: 第一步:设置Dialog的样式(一般项目都可以直接拿来用):style.xml中 <!--自定义Dialog背景全透明无边框theme--> <style name="MyDialo

Android 自定义对话框 showSetPwdDialog_Android

样式如下所示: 布局: layout dialog_set_pwd.xml <?xml version="." encoding="utf-"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&

Android 自定义对话框 showSetPwdDialog

样式如下所示: 布局: layout dialog_set_pwd.xml <?xml version="." encoding="utf-"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&

Android自定义Custom Dialog对话框

 现在要来实现一个自定义的Dialog,主要涉及到样式文件style.参考案例,自己写代码来实现.首先创建一个Android Project--CustomDialog,然后res/drawable文件夹下创建一个xml文件filled_box.xml,其内容为: <?xml version="1.0″ encoding="utf-8″?> <shape xmlns:android="http://schemas.android.com/apk/res/an

Android中自定义对话框(Dialog)的实例代码_Android

1.修改系统默认的Dialog样式(风格.主题) 2.自定义Dialog布局文件 3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类  第一步: 我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义

Android中自定义对话框(Dialog)的实例代码

1.修改系统默认的Dialog样式(风格.主题) 2.自定义Dialog布局文件 3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类 第一步: 我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义了

Androd自定义对话框Dialog视图及参数传递的实现方法

今天给大家讲讲有关自定义对话框的相关内容,前面两篇都在在利用系统提供的函数来实现对话框,但局限性太大,当我们想自己定义视图的时候,就不能利用系统函数了,就需要我们这里的自定义对话框了,有关自定义对话框的东东,以前有写过一篇<android之Dialog相关>,写的不好,今天给大家重新写一篇 一.雏形构建 先给大家看下这小节的效果图: 自定义一个对话框,内容是四个ImageView横排: 1.Dialog布局 根据上图的对话框样式,我们看一下Dialog的布局定义(custom_dialog.x

属于自己的Android对话框(Dialog)自定义集合_Android

Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). onCreateDialog(int):当你使用这个回调函数时,Android系统会有效的设置这个Acti

ANDROID中自定义对话框AlertDialog使用示例_Android

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式.AlertDialog中定义的一些对话框往往无法满足我们关于对话框的需求,这时我们就需要通过自定义对话框VIEW来实现需求,这里我自定义一个登陆的提示对话框,效果图显示如下: Layout(alertdialog自定义登陆按钮)界面代码: <?xml version="1.0" en