麦子学院Android开发教程对话框弹出位置和透明度

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IT在线教育专家——麦子学院对话框弹出位置和透明度详解,有需要的同学可参考,本文章总结了各种在安卓开发中话框弹透明实现方法,各位同学可参考。分析1、调整对话框后面的背景的透明度2、将对话框头部去掉3、将对话框自身的圆角白色边框替换为直角5px的白色边框4、设置对话框内部背景。先来看一个效果AlertDialogdialog=newAlertDialog.Builder(this).setTitle(title).setMessage(message).create();Windowwindow=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,为了更清晰地显示透明的对话框和非透明的对话框。在本例中加了一个背景图像,将同时显示了两个对话框(一个是半透明的,另一是不透明的)。代码如下://显示透明的对话框IT在线教育专家——麦子学院=newAlertDialog.Builder(this).setMessage(透明对话框).setPositiveButton(确定,null).create();Windowwindow=alertDialog.getWindow();WindowManager.LayoutParamslp=window.getAttributes();//设置透明度为0.3lp.alpha=0.6f;window.setAttributes(lp);alertDialog.show();我们在使用某些应用时会发现当弹出对话框或某些模式窗口时,后面的内容会变得模糊或不清楚。实际上,这些效果也很容易在OPhone中实现。为了实现这个功能,我们只需要设置Wndow对象的两个标志即可,代码如下:去掉白边框设置style,stylename=myDialogparent=@android:style/Theme.Dialogitemname=android:windowFrame@null/itemitemname=android:windowIsFloatingtrue/itemitemname=android:windowIsTranslucenttrue/itemitemname=android:windowNoTitletrue/itemitemname=!–itemname=android:background@drawable/bg_sel/item–itemname=android:windowBackground@drawable/bg_sel/itemitemname=android:backgroundDimEnabledfalse/item/style将此style方在构造方法中。4、设置对话框内部背景,IT在线教育专家——麦子学院模板视图,里面只有两个linearlayout,所有的View都添加到里面的linearlayout中即可。如下代码:?xmlversion=1.0encoding=utf-8?LinearLayoutxmlns:android=:orientation=verticalandroid:layout_width=fill_parentandroid:layout_height=wrap_contentandroid:padding=5pxLinearLayoutandroid:layout_width=fill_parentandroid:layout_height=fill_parentandroid:id=@+id/linearLayoutandroid:background=#90333333//LinearLayout实现由下至上弹出并位于屏幕底部的提示框:1.button.setOnClickListener(newOnClickListener(){2.@Override3.publicvoidonClick(Viewarg0){4.//TODOAuto-generatedmethodstub5.AlertDialogdialog=newAlertDialog.Builder(TestAndroid1Activity.this)6..setTitle(title).setMessage(message).create();7.Windowwindow=dialog.getWindow();8.window.setGravity(Gravity.BOTTOM);//此处可以设置dialog显示的位置9.window.setWindowAnimations(R.style.mystyle);//添加动画10.dialog.show();11.}12.);styles.xml1.?xmlversion=1.0encoding=utf-8?2.resources3.4.stylename=mystyleparent=android:Animation5.itemname=@android:windowEnterAnimation@anim/dialog_enter/item//进入时的动画6.itemname=@android:windowExitAnimation@anim/dialog_exit/item//退出时的动画7./style8./resources位于res/anim/dialog_enter.xmlIT在线教育专家——麦子学院=1.0encoding=utf-8?2.setxmlns:android=:fromYDelta=100%p%p指相对于父容器6.android:duration=6007./8./set位于res/anim/dialog_exit.xml1.?xmlversion=1.0encoding=utf-8?2.setxmlns:android=:toYDelta=100%p6.android:duration=600//持续时间7./8./set此处只是做了垂直位移的效果,自己还可以试试别的效果。alpha/透明度rotate/旋转scale/缩放

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功