Android中背景透明的Dialog
来源:互联网 发布:winxp哪个版本适合编程 编辑:程序博客网 时间:2024/05/22 17:56
首先上一张图,看看是不是你想要的效果。
是你想找的效果么?那么就请往下看。
步骤:
1、首先我们先写一个布局文件。这个我就不多说了。直接上代码,写的很粗糙。
命名:dialog_search_service.xml
<?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"> <ImageView android:id="@+id/search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@mipmap/dialog_search" /> <Space android:id="@+id/space" android:layout_width="match_parent" android:layout_height="40dp" android:layout_below="@id/search" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/space" android:gravity="center" android:orientation="horizontal"> <ProgressBar android:id="@+id/progress" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="智能硬件搜索中..." android:textColor="@color/white" android:textSize="20sp" /> </LinearLayout></RelativeLayout>
2、 在values中的style.xml中新建一个style样式。
代码如下:(重要)
<style name="dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <!--边框--> <item name="android:windowIsFloating">true</item> <!--是否浮现在activity之上--> <item name="android:windowIsTranslucent">true</item> <!--半透明--> <item name="android:windowNoTitle">true</item> <!--无标题--> <item name="android:windowBackground">@color/transparent</item> <!--背景透明--> <item name="android:backgroundDimEnabled">true</item> <!-- 如果设置android:backgroundDimEnabled为false.那弹出的对话框背景是亮的--> <item name="android:backgroundDimAmount">0.5</item> </style>
3、在Activity中使用,直接上代码。
Dialog dialog = new Dialog(LoginActivity.this, R.style.dialog);View view = LayoutInflater.from(this).inflate(R.layout.dialog_search_service, null);dialog.setContentView(view);//setting sizeWindow dialogWindow = this.getWindow();WindowManager m = getWindow().getWindowManager();Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值//手机横竖屏时候if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){ p.height = (int) (d.getHeight() * 0.2); // 高度设置为屏幕的 p.width = (int) (d.getWidth() * 0.7); // 宽度设置为屏幕的}else if (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){ p.height = (int) (d.getHeight() * 0.3); // 高度设置为屏幕的 p.width = (int) (d.getWidth() * 0.4); // 宽度设置为屏幕的}dialogWindow.setAttributes(p);dialog.show();
4、完工!
0 0
- Android中背景透明的Dialog
- Android背景透明的 Dialog
- Android背景透明的 Dialog
- Android背景透明的 Dialog
- Android背景透明的 Dialog
- Android背景透明的 Dialog
- Android 透明背景的dialog
- android dialog 背景透明的样式
- android 对话框Dialog背景透明
- android--对话框Dialog背景透明
- Android Dialog 设置背景透明
- android设置背景透明dialog
- Android中设置Dialog提示框无背景色--背景无遮罩透明
- 解决android 5.0 dialog背景无法透明的问题
- Android-progressdialog自定义背景透明的圆形进度条类似于Dialog
- android自定义dialog弹出框、透明背景
- Android Dialog背景全透明无边框
- Android Dialog背景全透明 无边框
- 线程安全(一):多线程竞态条件导致的线程不安全
- Android Studio常用快捷键、Android Studio快捷键大全
- MyEclipse 部署按钮没反应
- 第六周项目1-分数类的雏形
- Android 事件流详解之View事件分发
- Android中背景透明的Dialog
- 带默认形参值的函数
- C++ Primer Plus编程练习 7.13-10
- Excel/SPSS相关性及显著性水平分析
- 【原创】k8s源码分析-----kubelet(8)pod管理
- Linux chown(改变文件权限)
- 使用VMware VSphere WebService SDK进行开发 (一)——基本信息阐述
- Meanshift跟踪移动目标
- 关于Android内存泄露的小结