/** * 遮罩层效果 * * @param process * 主要实现layoutId布局中的查找控件并绑数据和事件并关联到dialog * @param maskStyle * 风格 <0时用默认 * @param layoutId * 布局 <0时用默认 * @param msgTip * 展示的提示信息 * @param listener * 窗口消失时监听接口,为Null空时不处理 * */ public static void maskLayerDialog(Context context, int maskStyle, int layoutId, String msgTip, MaskLayerDialog process, final OnCancelListener listener) { if (maskStyle < 0) maskStyle = R.style.dialog_translucent; if (layoutId < 0) layoutId = R.layout.mask_layout; final Dialog dialog = new Dialog(context, maskStyle); dialog.setContentView(layoutId); if (layoutId == R.layout.mask_layout) { // View v= LayoutInflater.from(context).inflate(layoutId, null); // TextView message = (TextView)v.findViewById(R.id.maskMsg); TextView msg = (TextView) dialog.getWindow().findViewById( R.id.maskMsg); msg.setText(msgTip); } dialog.setCanceledOnTouchOutside(true); dialog.setCancelable(true); if (listener != null) dialog.setOnCancelListener(listener); // 设置显示位置 Window window = dialog.getWindow(); // 设置显示动画 WindowManager.LayoutParams wl = window.getAttributes(); wl.x = 0; wl.y = 200;// ((Activity)context).getWindowManager().getDefaultDisplay().getHeight()+100; wl.width = 280; wl.height = 60; dialog.onWindowAttributesChanged(wl); if (process != null) { process.inintLayout(dialog); } if (dialog != null && !dialog.isShowing()) { dialog.show(); } } public interface MaskLayerDialog { public void inintLayout(Dialog dialog); } public static int dip2px(Context context, float dipValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f); } public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }
<!-- 遮罩层效果 --> <style name="dialog_translucent" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item><!-- 边框 --> <item name="android:windowIsFloating">true</item><!-- 是否悬浮在activity上 --> <item name="android:windowIsTranslucent">false</item><!-- 半透明 --> <item name="android:windowNoTitle">true</item><!-- 无标题 --> <item name="android:windowBackground">@drawable/bgconfig</item><!-- 背景透明 --> <item name="android:backgroundDimEnabled">true</item><!-- 模糊 --> <item name="android:backgroundDimAmount">0.6</item><!-- 灰度 --> <item name="android:windowContentOverlay">@null</item><!-- 对话框是否有遮盖 --> <item name="android:windowAnimationStyle">@style/dialog_animation</item><!-- 弹出或者进入时的动画效果 --> <item name="android:colorBackgroundCacheHint">@null</item><!-- 背景缓存颜色 --> </style>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:id="@+id/maskMsg" android:text="操作成功"/> </LinearLayout>
相关推荐
在winform中实现的遮罩层效果
史上最精简,最强大的JS遮罩层效果,支持ie firefox jQuery遮罩层
这是一款使用纯css3制作的图片点击弹出动画遮罩层效果。该动画遮罩层demo中为模板展示,当点击模板图片后,图片缩小并在图上方弹出半透明遮罩层,显示模板各个模块的功能。
弹出层遮罩层效果(包括居中、不随滚动条滚动)
使用AxurePro8版本实现网站管理功能中常用的遮罩层效果。
js写登陆遮罩层效果,登陆效果.供新手学习,所以不要资源分,一起学习。如果有哪些写的不好地方,希望指点。
安卓开发-android 遮罩层效果.zip.zip
实现弹出登录遮罩层效果,除弹出的登录框外,不能进行操作(下载课直接使用)
安卓Android源码——遮罩层效果.zip
html5鼠标双击段落文字高亮显示遮罩层效果代码
遮罩层层效果 可用于弹出窗口,提示信息,确认提示框或提交数据进行表单验证和图片点击遮罩等效果
jQuery鼠标经过图片遮罩层效果基于jquery1.42.min.js制作,鼠标跟随效果。
JQUERY遮罩效果实现网页JS遮罩层,使网站不用刷新操作
原生css的loading遮罩层效果,防止重复提交和增加用户体验效果,简单易用,兼容性好
遮罩层的放大镜效果,帮助于想学习flash的机油们
jQuery鼠标经过图片遮罩层效果基于jquery1.42.min.js制作,鼠标跟随效果。
Android应用源码之遮罩层效果
Android应用源码之遮罩层效果.zip