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"/>



相关文章
|
12月前
|
前端开发 定位技术
layer弹框右上角关闭按钮的样式
layer弹框右上角关闭按钮的样式
227 0
|
小程序 JavaScript 数据库
小程序登录按钮遮罩浮层效果
小程序登录按钮遮罩浮层效果
119 0
|
小程序 前端开发 JavaScript
小程序点击按钮出现和隐藏遮罩层
小程序点击按钮出现和隐藏遮罩层
212 0
|
3月前
Axure 选中同意复选框后,改变登录按钮的颜色
Axure 选中同意复选框后,改变登录按钮的颜色
27 0
|
前端开发
如何通过CSS动画制作一个优美的登录框
登录框是网站的重要组成部分,它不仅需要提供用户登录的功能,还需要有美观、易用的界面。本文将通过CSS动画制作一个优美的登录框,使用户的登录体验更加愉悦。
354 0
点击文字显示,点击文字隐藏(3)
点击文字显示,点击文字隐藏(2)