android 对话框弹出位置和透明度的设置具体实现方法

例如,屏幕的上方或下方。要实现这种效果。就需要获得对话框的Window对象,获得这个Window对象有多种方法。最容易的就是直接通过AlertDialog类的getWindow方法来获得Window对象。

复制代码 代码如下:

AlertDialog dialog = new AlertDialog.Builder(this).setTitle("title")
.setMessage("message").create();
Window window = alertDialog.getWindow();
window.setGravity(Gravity.TOP); //window.setGravity(Gravity.BOTTOM);
alertDialog.show();

                

透明的对话框
默认显示的对话框是不透明的,但我们可以通过设置对话框的alpha值将其变成透明或半透 明效果。我们都知道。颜色由R(红)、G(绿)、B(蓝)组成。除此之外,还会有一个A(透明度,Alpha)来描述颜色。在颜色的描述中,如果该值为0 表示完全透明,如果该值为255,表示不透明。
通过设置Windows的alpha属性也可以设置对话框的透明度。但alpha的取值范围是从0 到1.0。如果该属性值为0,表示完全透明,如果该值为1.0,表示不透明(也就是正常显示的对话框)。下面的代码通过将alpha的值设为0.3,为了 更清晰地显示透明的对话框和非透明的对话框。在本例中加了一个背景图像,将同时显示了两个对话框(一个是半透明的,另一是不透明的)。

复制代码 代码如下:

// 显示透明的对话框
AlertDialog alertDialog = new AlertDialog.Builder(this).setMessage(
"透明对话框").setPositiveButton("确定", null).create();
Window window = alertDialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
// 设置透明度为0.3
lp.alpha = 0.6f;
window.setAttributes(lp);
alertDialog.show();

我们在使用某些应用时会发现当弹出对话框或某些模式窗口时,后面的内容会变得模糊或不清楚。实际上,这些效果也很容易在OPhone中实现。为了实现这个功能,我们只需要设置Wndow对象的两个标志即可,代码如下:

复制代码 代码如下:

window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

时间: 2024-10-25 17:09:49

android 对话框弹出位置和透明度的设置具体实现方法的相关文章

android 对话框弹出位置和透明度的设置具体实现方法_Android

例如,屏幕的上方或下方.要实现这种效果.就需要获得对话框的Window对象,获得这个Window对象有多种方法.最容易的就是直接通过AlertDialog类的getWindow方法来获得Window对象. 复制代码 代码如下: AlertDialog dialog = new AlertDialog.Builder(this).setTitle("title")                       .setMessage("message").create(

android 对话框弹出位置和透明度详解

分析 1.调整对话框后面的背景的透明度 2.将对话框头部去掉 3.将对话框自身的圆角白色边框替换为直角5px的白色边框 4.设置对话框内部背景.   先来看一个效果 AlertDialog dialog = new AlertDialog.Builder(this).setTitle("title") .setMessage("message").create(); Window window = alertDialog.getWindow(); window.se

android 自定义ActionProvider弹出位置

问题描述 android 自定义ActionProvider弹出位置 自己写的ActionProvider弹出会吧ActionBar遮住 怎样向微信一样在ActionBar下面呢 解决方案 http://blog.csdn.net/guolin_blog/article/details/25466665

android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源之IOS_Dialog_Library_Android

先给大家展示下效果图,喜欢的朋友可以下载源码哦. 完成这个效果的是使用了 IOS_Dialog_Library 下载地址:http://xiazai.jb51.net/201509/yuanma/IOS_Dialog_Library(jb51.net) 下载后导入到Eclipse中,然后作为Library引入到自己的工程中,直接作为第三方控件使用. 测试代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

详解Android PopupWindow怎么合理控制弹出位置(showAtLocation)

说到PopupWindow,应该都会有种熟悉的感觉,使用起来也很简单 // 一个自定义的布局,作为显示的内容 Context context = null; // 真实环境中要赋值 int layoutId = 0; // 布局ID View contentView = LayoutInflater.from(context).inflate(layoutId, null); final PopupWindow popupWindow = new PopupWindow(contentView,

android避免弹出软键盘遮盖listview的简单方法_Android

做开发的时候,我们常常把listview放中间,然后底部放置一个edittext控件,这样导致editext控件获得焦点的时候,输入法弹出,Edittext控件上移,挡住了listview的部分数据,这样不太美观.所以,我们需要让listview也跟着上移,所以需要: 方法一:在xml文件中,设置listview属性时候加上这句就ok了android:transcriptMode="normal": 方法二:在程序中加入语句: listView.setTranscriptMode(Li

android TextView 弹出软键盘

问题描述 android TextView 弹出软键盘 背景:我想在一个ViewGroup上添加一个TextView ,操作说明,点击ViewGroup中央,出现一个光标在那并弹出软键盘,在键盘上输入文字,对应的光标的位置会出现键盘上输入的文字,点击换行按钮随之换行继续输入,请问如何实现? 解决方案 android系统里, TextView得到焦点后会自动弹出软键盘 至于输入多行的问题,可以参考这个 Android TextView多行文本滚动实现 http://blog.csdn.net/zz

edittext-EditText长按弹出复制粘贴选项框设置位置

问题描述 EditText长按弹出复制粘贴选项框设置位置 长按EditText会弹出复制粘贴选项框,但是组件在最顶部导致选项框覆盖了组件本身, 怎么使弹出的选项框处于组件下方.试了下setCustomSelectionActionModeCallback 方法在onCreateActionMode中 et_search.setCustomSelectionActionModeCallback(new Callback() { @Override public boolean onCreateAc

Android自定义弹出窗口PopupWindow使用技巧_Android

PopupWindow是Android上自定义弹出窗口,使用起来很方便. PopupWindow的构造函数为 复制代码 代码如下: public PopupWindow(View contentView, int width, int height, boolean focusable) contentView为要显示的view,width和height为宽和高,值为像素值,也可以是MATCHT_PARENT和WRAP_CONTENT. focusable为是否可以获得焦点,这是一个很重要的参数