Android中使用自定义样式和显示位置的对话框Dialog
来源:互联网 发布:dns域名劫持工具 编辑:程序博客网 时间:2024/05/02 18:18
工作日志记录:Android中的dialog的使用并不少见,dialog也就是对话框的意思,对话框按照使用方式可以分为系统对话框和用户自定义对话框,按照使用功能分为用户操作提示对话框和任务进度对话框,这里总结一下自定义的用户操作对话框的使用方法:
1.先上效果图:
实现上图中的效果的代码如下,显示位置在屏幕的下方,这里就不进行过多的封装,需要的朋友自己去封装和抽取:
private void showDialog(Context context) { registerDialog = new Dialog(context, R.style.MyDialog); registerDialog.getWindow().setLayout( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); registerDialog.getWindow().setContentView(R.layout.diaolog_view_register); //显示在屏幕的下方 registerDialog.getWindow().setGravity(Gravity.BOTTOM); registerDialog.show(); //下面这句可以换成 View view=registerDialog.getWindow().getDecorView(); View view = View.inflate(this, R.layout.diaolog_view_register, null); //拍照 tv_register_pz = (Button) registerDialog.getWindow().findViewById(R.id.tv_register_pz); tv_register_pz.setOnClickListener(this); // 从相册中选择 tv_register_xc = (Button) registerDialog.getWindow().findViewById(R.id.tv_register_xc); tv_register_xc.setOnClickListener(this); //取消 tv_register_qx = (Button) registerDialog.getWindow().findViewById(R.id.tv_register_qx); tv_register_qx.setOnClickListener(this);}R.style.MyDialog:<style name="MyDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowCloseOnTouchOutside">true</item></style>2.显示在屏幕中间的dialog:R.layout.diaolog_view_register布局文件:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/transparent" android:paddingBottom="@dimen/dimen_dp_10"> <LinearLayout android:id="@+id/ll_duihuanbeijing" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_gravity="bottom" android:background="@drawable/dialog_bg" android:orientation="vertical"> <Button android:id="@+id/tv_register_pz" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:text="拍照" android:textColor="@color/light_text_color" android:padding="10dp" android:textSize="15sp" android:background="@color/white" /> <Button android:id="@+id/tv_register_xc" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:text="从相册中选择" android:textColor="@color/light_text_color" android:padding="10dp" android:textSize="15sp" android:background="@color/white" /> <Button android:id="@+id/tv_register_qx" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:layout_marginBottom="10dp" android:text="取消" android:textColor="@color/light_text_color" android:padding="10dp" android:textSize="15sp" android:background="@color/white" /> </LinearLayout></RelativeLayout>
效果图:应涉及到应用内容问题,只截半屏,懂意思就行。
实现代码如下:private void showDeleteFriendsDialog(Context context) { final Dialog dialog=new Dialog(context,R.style.MyDialogOne); Window window=dialog.getWindow(); window.setLayout(WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.WRAP_CONTENT); window.setContentView(R.layout.dialog_btn_two); View decorView=window.getDecorView(); TextView tv_content=(TextView) decorView.findViewById(R.id.tv_content); TextView btn_left=(TextView) decorView.findViewById(R.id.btn_left); TextView btn_right=(TextView) decorView.findViewById(R.id.btn_right); tv_content.setText("确定要删除好友关系吗?"); btn_left.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); btn_right.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //删除好友操作 dialog.dismiss(); } }); dialog.show();}R.style.MyDialogOne:(与上面一样)<style name="MyDialogOne" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowCloseOnTouchOutside">true</item></style>
R.layout.dialog_btn_tow:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="270dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:background="@drawable/dialog_bg" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="20dp" android:text="提示" android:textColor="#030303" android:textSize="18sp" /> <TextView android:id="@+id/tv_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_marginBottom="30dp" android:gravity="center" android:textColor="#030303" android:textSize="15sp" /> <View android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_marginTop="10dp" android:background="#c74d4d4d" /> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:orientation="horizontal" > <TextView android:id="@+id/btn_left" android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="1" android:layout_gravity="center" android:gravity="center" android:text="否" android:textColor="#666666" android:textSize="18sp" /> <View android:layout_width="0.5dp" android:layout_height="match_parent" android:background="#c74d4d4d"/> <TextView android:id="@+id/btn_right" android:layout_width="0dp" android:layout_height="50dp" android:layout_weight="1" android:layout_gravity="center" android:gravity="center" android:text="是" android:textColor="#0076ff" android:textSize="18sp" /> </LinearLayout></LinearLayout>
R.drawabel.dialog_bg:(这是一个shape图形,圆角矩形)
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:radius="20dp" /> <stroke android:color="#FFFFFF" android:width="0.5dp"/> <solid android:color="#FFFFFF"/></shape>
阅读全文
0 0
- Android中使用自定义样式和显示位置的对话框Dialog
- 自定义dialog显示位置和样式
- 修改 android Dialog 对话框显示的位置
- 自定义 Android 对话框 (AlertDialog) 的样式 (Android中自定义对话框(Dialog) <二>)
- Android自定义样式对话框Dialog
- android dialog 对话框显示位置
- Android 自定义dialog的位置显示
- android 中自定义Dialog的位置和大小的方法
- android 中自定义Dialog的位置和大小的方法
- Android自定义对话框(Dialog)位置,大小(Service中同样适用)
- android中改变dialog的显示的位置和大小
- [Android] Android自定义对话框(Dialog)位置,大小
- 更改dialog样式activity在屏幕中显示的位置
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Android自定义对话框(Dialog)位置,大小
- Python判断文件和文件夹是否存在
- Redis安装
- Jetson TX1使用记录
- 通过进程号杀死进程或查询进程以及使用案例
- Spring(21)——国际化MessageSource
- Android中使用自定义样式和显示位置的对话框Dialog
- Python可变数据类型的注意事项
- Servicehot和你说说运维自动化的那些事儿
- freemarker常用标签及语法
- 【iOS开发】生成Appicon图标、为iOS应用添加图标
- ROM定制开篇之ROOT权限提取原理
- win7x64下的redis安装与使用
- 移动端适配 user-Agent
- 2008-2009 ACM-ICPC, NEERC, Moscow Subregional Contest B Bankrupt Broker