`
喧嚣求静
  • 浏览: 572832 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

遮罩层效果

 
阅读更多
/**
	 * 遮罩层效果
	 * 
	 * @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实现遮罩层效果

    下面将详细讲解如何在Winform中实现遮罩层效果。 首先,理解遮罩层的基本概念。遮罩层是覆盖在主窗口之上的一层半透明控件,它不参与程序的主要逻辑处理,而是起到视觉上的隔离作用。通常,我们可以通过创建一个新...

    JS遮罩层效果

    本文将详细介绍如何使用JS实现这种遮罩层效果,并探讨其在IE、Firefox以及jQuery环境下的应用。 首先,让我们理解遮罩层的基本原理。遮罩层通常由两个主要部分组成:遮罩元素和目标元素。遮罩元素是覆盖在页面上的...

    原生css的loading遮罩层效果

    "原生CSS的loading遮罩层效果"是指使用纯CSS技术来创建一个在页面内容加载时显示的加载指示器,并配合遮罩层,以提供更好的交互体验。这种技术避免了用户在等待页面完全加载时进行多次提交,确保数据的正确处理,...

    JQUERY遮罩层效果

    在网页设计中,遮罩层(Mask Layer)是一种常见...本篇将详细介绍如何利用jQuery实现遮罩层效果,并探讨相关技术细节。 首先,我们需要引入jQuery库。在HTML文档的`&lt;head&gt;`部分添加以下代码来获取jQuery库: ```html ...

    遮罩层效果(最新),简单易用

    在网页设计和开发中,遮罩层效果是一种常见的交互元素,用于在用户与页面其他部分交互时提供一种视觉聚焦或提示。"遮罩层效果(最新),简单易用"这个标题表明我们将探讨一种最新的、易于实施的遮罩层实现方法。这种...

    安卓开发-android 遮罩层效果.zip.zip

    在安卓应用开发中,"遮罩层效果"是一种常见的用户界面设计元素,它通常用于创建半透明覆盖层,以提供视觉焦点或者隐藏部分界面。在本教程中,我们将深入探讨如何在Android平台上实现这种效果。 首先,遮罩层通常由...

    jQuery弹出登录遮罩层效果

    "jQuery弹出登录遮罩层效果"是一个常见的交互设计技术,它允许用户在不影响主页面内容的情况下,通过一个半透明的遮罩层弹出登录窗口。这种方法既保证了用户体验,又确保了登录过程的安全性。下面将详细介绍如何实现...

    安卓Android源码——遮罩层效果.zip

    在安卓(Android)开发中,实现遮罩层效果是一项常见的任务,这通常涉及到用户界面(UI)设计,增强用户体验。遮罩层常用于显示半透明的覆盖层,以达到隐藏部分界面、突出显示特定区域或者加载动画的效果。在这个...

    jQuery鼠标经过图片遮罩层效果.zip

    jQuery库为开发者提供了丰富的工具来实现这些功能,其中之一就是图片遮罩层效果。这个"jQuery鼠标经过图片遮罩层效果"就是一个典型的例子,它利用jQuery库实现了当鼠标悬停在图片上时,会显示一个覆盖在图片上的遮罩...

    遮罩层层效果 可用于弹出窗口,提示信息,确认提示框或提交数据进行表单验证和图片遮罩等

    至于"Graphics"这个压缩包文件名,虽然没有具体的文件内容描述,但通常在与遮罩层相关的项目中,它可能包含了一些图形资源,如PNG、JPEG或SVG格式的图片,或者是用于设计遮罩层效果的矢量图形。这些图形可能用于制作...

    js写登陆遮罩层效果

    在这个主题中,“js写登陆遮罩层效果”指的是使用JavaScript实现这种功能。 JavaScript,简称JS,是一种轻量级的解释型编程语言,广泛用于网页和网络应用开发。在网页动态效果的实现上,JavaScript扮演着关键角色。...

    html5鼠标双击段落文字高亮显示遮罩层效果代码

    接下来,我们编写CSS样式来实现高亮和遮罩层效果。CSS3中的`::selection`伪元素可以用来控制选中文本的样式,我们将设置背景色以实现高亮效果: ```css #dualClickText::selection { background-color: yellow; /*...

    js弹出遮罩层效果

    JS弹出遮罩层效果 在Web开发中,弹出遮罩层效果是一个非常常见的交互方式,能够吸引用户的注意,并提供更好的用户体验。本资源提供了一种简单易用的JS弹出遮罩层效果,能够满足大多数项目的需求。 以下是该效果的...

    纯css3图片点击弹出动画遮罩层效果

    本项目“纯css3图片点击弹出动画遮罩层效果”就是利用CSS3的新特性,实现了一种交互式的用户体验。接下来,我们将详细讨论这个项目中的关键知识点。 首先,"纯CSS3"意味着在这个效果的实现过程中,没有使用...

    Android应用源码之遮罩层效果.rar

    "Android应用源码之遮罩层效果.rar"这个压缩包包含了关于如何在Android应用程序中实现遮罩层效果的源代码示例。 首先,我们要理解遮罩层的基本概念。遮罩层通常是一个具有透明度变化的二维图像,通过与底层内容相乘...

    Android应用源码之遮罩层效果.zip

    在Android应用开发中,"遮罩层效果"通常是指在界面上添加一层半透明或全透明的覆盖物,用于突出显示特定区域或者提供一个过渡效果。这个"Android应用源码之遮罩层效果.zip"文件可能包含了一个示例项目,展示了如何在...

    精典源码之遮罩层效果.rar

    这个名为“精典源码之遮罩层效果.rar”的压缩包很可能包含了实现这种效果的源代码示例。以下是对遮罩层效果及其相关知识点的详细说明: 1. **HTML 结构**:通常,遮罩层会通过创建一个全屏的`&lt;div&gt;`元素来实现。这...

    jQuery鼠标经过图片遮罩层效果.rar

    本项目"jQuery鼠标经过图片遮罩层效果"正是利用jQuery来提升图片展示的互动性,为用户提供一种独特的视觉体验。 首先,我们来看"jQuery鼠标经过图片遮罩层效果"的核心概念。遮罩层通常是一个半透明的覆盖层,当用户...

Global site tag (gtag.js) - Google Analytics