Androidの自定义对话框AlertDialog(一)
16lz
2021-01-23
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 常用对话框Dialog封装
- Android 实现气泡布局/弹窗,可控制气泡尖角方向及偏移量
- 【转】善用Android预定义样式来为我们的布局设置效果,大大节约代
- 布局文件中的笔记
- Android 布局 之 LinearLayout
- android 界面布局 很好的一篇总结 【转】
- Android--使用include调用布局
- Android工具之Hierarchy Viewer--分析应用程序UI布局
- Android 性能优化之布局优化 (二)