DIalog实现蒙版指引提示效果

简介: DIalog实现蒙版指引提示效果

上篇博客发了一下 DialogUtil 的工具方法

这篇文章就给大家讲一下 如果用 dialog  实现应用的 蒙版介绍指引功能。


话不多说  代码献上


//这个通用的 CustomDialog其实上篇博客已经写到了  再贴一下

   public static Dialog getCustomDialog(final Activity activity, View view, boolean dismissTouchOutside,

           boolean cancelable, int theme) {undefined

       Dialog dialog = new Dialog(activity, R.style.Dialog_FullScreen);

       dialog.setContentView(view);

       dialog.setCancelable(cancelable);

       dialog.setCanceledOnTouchOutside(dismissTouchOutside);

       if (!cancelable) {undefined

           dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {undefined

               @Override

               public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {undefined

                   if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {undefined

                       dialog.dismiss();

                       activity.finish();

                   }

                   return false;

               }

           });

       }

       return dialog;

   }


上面方法中用到的 style   Dialog_FullScreen

</div><div>        <item name="android:windowFrame">@null</item></div><div>        <item name="android:windowIsFloating">true</item></div><div>        <item name="android:windowContentOverlay">@android:color/transparent</item></div><div>        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item></div><div>        <item name="android:windowIsTranslucent">true</item></div><div>        <item name="android:windowNoTitle">true</item></div><div>        <item name="android:windowFullscreen">true</item></div><div>        <item name="android:windowBackground">@android:color/transparent</item></div><div>        <item name="android:backgroundDimEnabled">true</item></div><div>    


//这个里面用到的图片自己替换下


public static void checkIsShowTipsDialog(final Activity activity, String activityTag) {undefined


       final Preferences pref = Preferences.getInstance(activity);

       View view = LayoutInflater.from(activity).inflate(R.layout.dialog_tips, null, true);

       ImageView imageView = (ImageView) view.findViewById(R.id.tips_iv);

       boolean isShow = false;

       if (activityTag.equals(DIALOG_TIPS_ACTIVITY_HOMEPAGE)) {undefined

           isShow = pref.getBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_HOMEPAGE, false);

           imageView.setBackgroundResource(R.drawable.tips_homepage);

           pref.putBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_HOMEPAGE, true);

       } else if (activityTag.equals(DIALOG_TIPS_ACTIVITY_LIVING)) {undefined

           isShow = pref.getBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_LIVING, false);

           imageView.setBackgroundResource(R.drawable.tips_living);

           pref.putBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_LIVING, true);

       } else if (activityTag.equals(DIALOG_TIPS_ACTIVITY_LIVING_PREPARE)) {undefined

           isShow = pref.getBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_LIVING_PREPARE, false);

           imageView.setBackgroundResource(R.drawable.tips_living_setting);

           pref.putBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_LIVING_PREPARE, true);

       } else if (activityTag.equals(DIALOG_TIPS_ACTIVITY_PERSONAL)) {undefined

           isShow = pref.getBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_PERSONAL, false);

           imageView.setBackgroundResource(R.drawable.tips_personal);

           pref.putBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_PERSONAL, true);

       } else if (activityTag.equals(DIALOG_TIPS_ACTIVITY_PERSONAL_VIDEO)) {undefined

           isShow = pref.getBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_PERSONAL_VIDEO, false);

           imageView.setBackgroundResource(R.drawable.tips_personal_video);

           pref.putBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_PERSONAL_VIDEO, true);

       } else if (activityTag.equals(DIALOG_TIPS_ACTIVITY_LIVING_WATCHING)) {undefined

           isShow = pref.getBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_LIVING_WATCHING, false);

           imageView.setBackgroundResource(R.drawable.tips_watching);

           pref.putBoolean(Preferences.KEY_IS_SHOW_TIPS_DIALOG_LIVING_WATCHING, true);

       }

       if (isShow) {undefined

           return;

       }

       final Dialog dialog = getCustomDialog(activity, view, true, true, -1);

       view.setOnClickListener(new View.OnClickListener() {undefined

           @Override public void onClick(View view) {undefined

               dialog.dismiss();

           }

       });

       dialog.show();

   }


dialog_tips.xml


   xmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="fill_parent"

   android:layout_height="wrap_content"

   android:orientation="vertical">

 

       android:id="@+id/tips_iv"

       android:layout_width="match_parent"

       android:layout_height="match_parent"

       android:scaleType="fitXY"/>



相关文章
|
7月前
|
小程序 JavaScript 数据库
小程序登录按钮遮罩浮层效果
小程序登录按钮遮罩浮层效果
97 0
|
7月前
|
小程序 前端开发 JavaScript
小程序点击按钮出现和隐藏遮罩层
小程序点击按钮出现和隐藏遮罩层
171 0
文字点击展开再次点击隐藏
文字点击展开再次点击隐藏
|
10月前
3D模型工具栏-帮助弹窗
3D模型工具栏-帮助弹窗
饿了么UI按钮禁用时加文字提示,按钮正常时不加文字提示(el-tooltip使用注意事项)
饿了么UI按钮禁用时加文字提示,按钮正常时不加文字提示(el-tooltip使用注意事项)
230 0
|
Android开发
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
714 0
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
|
Java Android开发
【安卓开发】Dialog对话框的学习和使用
【安卓开发】Dialog对话框的学习和使用
203 0
【安卓开发】Dialog对话框的学习和使用
|
存储 XML 缓存
Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
166 0
Android 天气APP(十三)仿微信弹窗(右上角加号点击弹窗效果)、自定义背景图片、UI优化调整
|
Android开发
Android开发案例 点击按钮出现 简易的消息提示框
Android开发案例 点击按钮出现 简易的消息提示框
247 0
Android开发案例 点击按钮出现 简易的消息提示框