【Android运用Builder来创建Alertdialog】壮心未与年俱老,死去犹能作鬼雄。这篇文章主要讲述Android运用Builder来创建Alertdialog相关的知识,希望能为你提供帮助。
简述直接在activity调用AlertDialog.Builder来创建一个dialog,不用单独去创建一个类,这个设计我感觉非常友好。考虑到实际安卓app的dialog需要完成的任务也不会太多,所以这个方法应该可以实现90%的需求了,比安 卓官方文档里面用正儿八经创建对话框的方法简便,话不多说,看看这个模式吧。
首先我们需要一个对话框的layout
<
?xml version="1.0" encoding="utf-8"?>
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="256dp"
android:layout_height="141dp"
android:orientation="vertical">
<
LinearLayout
android:layout_width="match_parent"
android:layout_height="92dp"
android:gravity="center"
android:orientation="vertical">
<
TextView
android:id="@+id/dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:lineSpacingExtra="3dp"
android:lineSpacingMultiplier="1.2"
android:textColor="#333333"
android:textSize="15sp"
android:visibility="gone" />
<
TextView
android:id="@+id/dialog_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="3dp"
android:lineSpacingExtra="3dp"
android:lineSpacingMultiplier="1.2"
android:textColor="#333333"
android:textSize="15sp" />
<
/LinearLayout>
<
LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:orientation="horizontal">
<
/LinearLayout>
<
/LinearLayout>
用getLayoutInflater().inflate()方法找到在资源文件里找到layout
LinearLayout layout=(LinearLayout) getLayoutInflater().inflate(R.layout.dialog,null);
顺便设置一下文字,
R.string.dlg_title
和R.string.dlg_message
是string资源里自己添加的项TextView dialogTile=layout.findViewById(R.id.dialog_title);
TextView dialogMessage=layout.findViewById(R.id.dialog_message);
dialogTile.setText(R.string.dlg_title);
dialogMessage.setText(R.string.dlg_message);
是在这里添加->
文章图片
建造这个对话框
new AlertDialog.Builder(MainActivity.this).setView(layout)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
/*
点击确定按钮要做的事
*/
}
})
.setNegativeButton("取消",null)//因为取消键只是关闭,所以不设监听
.setCancelable(true)//可以点对话框外部关闭对话框
.create()
.show();
以上三段代码都是在activity中直接写的,不用新建一个类,写出来也很短,感觉棒棒的。
推荐阅读
- gradle-4.1-all.zip离线包下载 极速 android studio2.3 3.0编译必备
- jdk的设置及安装android studio提示does not point to a valid jvm问题
- 安装Android studio出现'tools.jar' seems to be not in Android Studio classpath......的解决方法
- 纯净版xp系统下记事本如何设置自动保存【图文详细教程】
- 萝卜家园XP系统下音量控制程序消失如何处理
- XP系统下磁盘空间变少了是怎样回事|XP系统下磁盘空间变少了的处理办法
- xp系统下如何将页面上的内容保存到印象笔记【图文详细教程】
- xp系统删除右键菜单ACDsee PicaView选项的办法
- WindowsXP系统如何解除脱机状态|WindowsXP系统解除脱机状态的办法