Androidの自定义对话框AlertDialog(一)
16lz
2021-12-04
Androidの自定义对话框AlertDialog
学习Androidの自定义对话框AlertDialog,权当做下笔记,方便以后使用,或者其他朋友。
1. 自定义一个AlertDialog 时候,创建自己的Dialog对象,然后利用setContentView() 添加自定义布局即可。 这里是主要初始化的对话框代码:
private void showCustomMessage(String pTitle, final String pMsg) { final Dialog lDialog = new Dialog(MainMenuActivity.this,android.R.style.Theme_Translucent_NoTitleBar);lDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);lDialog.setContentView(R.layout.view_okcanceldialogview);((TextView) lDialog.findViewById(R.id.dialog_title)).setText(pTitle);((TextView) lDialog.findViewById(R.id.dialog_message)).setText(pMsg);((Button) lDialog.findViewById(R.id.ok)).setText("Ok");((Button) lDialog.findViewById(R.id.cancel)).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// write your code to do things after users clicks// CANCELlDialog.dismiss();}});((Button) lDialog.findViewById(R.id.ok)).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// write your code to do things after users clicks OKlDialog.dismiss();}});lDialog.show();}我们看下布局文件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="wrap_content" android:layout_gravity="center_horizontal|center_vertical" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:background="@drawable/alert" android:gravity="center_horizontal" android:orientation="vertical" > <TextView android:id="@+id/dialog_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="17dip" android:text="About to call 323" android:textColor="#ffffff" android:textSize="16dip" android:textStyle="bold" /> <TextView android:id="@+id/dialog_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dip" android:gravity="center_horizontal" android:text="Are you sure you want to proceed?" android:textColor="#ffffff" android:textSize="16dip" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dip" android:layout_marginTop="10dip" android:gravity="center_horizontal" android:orientation="horizontal" > <Button android:id="@+id/cancel" android:layout_width="0dip" android:layout_height="40dip" android:layout_gravity="left" android:layout_marginLeft="10dip" android:layout_weight="0.5" android:background="@drawable/custom_button1" android:text="Cancel" android:textColor="@color/white" android:textStyle="bold" /> <Button android:id="@+id/ok" android:layout_width="0dip" android:layout_height="40dip" android:layout_marginBottom="10dip" android:layout_marginRight="10dip" android:layout_weight="0.5" android:background="@drawable/custom_button" android:text="OK" android:textColor="@color/white" android:textStyle="bold" /> </LinearLayout> </LinearLayout></LinearLayout>看起啦很简单啦,所有涉及全部在xml 中配置好了。
在这里还要注意定义时候
final Dialog lDialog = new Dialog(MainMenuActivity.this,
android.R.style.Theme_Translucent_NoTitleBar);
lDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
如果你使用了沉浸式状态栏时候,就会出现了冲突发生。所以使用此自定义对话框,避免使用该沉浸式状态栏。
源码下载: https://git.oschina.net/xiabing/IponeAlertType.git
更多相关文章
- Android中字体的处理
- 关于程序中Activity若干问题知识点总结
- Mars Android视频教程完整版高清在线观看
- Android(安卓)UI学习 - Tab的学习和使用
- Android(安卓)Android(安卓)Studio 快捷键整理分享,IntelliJ IDE
- Android应用使用自定义字体
- Android(安卓)UI学习 - Tab的学习和使用
- android:windowSoftInputMode属性的使用
- Android系列教程之七:EditText使用详解-包含很多教程上看不到的功