Android自定义对话框Dialog
短信预约 -IT技能 免费直播动态提醒
本文简单介绍自定义对话框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();
}
});
}
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();方法就可以将对话框显示出来。
您可能感兴趣的文章:Android中自定义对话框(Dialog)的实例代码Android中制作自定义dialog对话框的实例分享Android实现自定义圆角对话框Dialog的示例代码Android自定义等待对话框Android对话框自定义标题 对话框标题美化操作Android自定义控件实现万能的对话框Android如何自定义升级对话框示例详解
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341