前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DIalog实现蒙版指引提示效果

DIalog实现蒙版指引提示效果

作者头像
再见孙悟空_
发布2023-02-10 19:01:14
5100
发布2023-02-10 19:01:14
举报

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

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

话不多说  代码献上

//这个通用的 CustomDialog其实上篇博客已经写到了  再贴一下     public static Dialog getCustomDialog(final Activity activity, View view, boolean dismissTouchOutside,             boolean cancelable, int theme) {         Dialog dialog = new Dialog(activity, R.style.Dialog_FullScreen);         dialog.setContentView(view);         dialog.setCancelable(cancelable);         dialog.setCanceledOnTouchOutside(dismissTouchOutside);         if (!cancelable) {             dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {                 @Override                 public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {                     if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {                         dialog.dismiss();                         activity.finish();                     }                     return false;                 }             });         }         return dialog;     } 上面方法中用到的 style   Dialog_FullScreen  <style name="Dialog.FullScreen" parent="Theme.AppCompat.Dialog">         <item name="android:windowFrame">@null</item>         <item name="android:windowIsFloating">true</item>         <item name="android:windowContentOverlay">@android:color/transparent</item>         <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>         <item name="android:windowIsTranslucent">true</item>         <item name="android:windowNoTitle">true</item>         <item name="android:windowFullscreen">true</item>         <item name="android:windowBackground">@android:color/transparent</item>         <item name="android:backgroundDimEnabled">true</item>     </style> //这个里面用到的图片自己替换下   public static void checkIsShowTipsDialog(final Activity activity, String activityTag) {         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)) {             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)) {             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)) {             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)) {             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)) {             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)) {             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) {             return;         }         final Dialog dialog = getCustomDialog(activity, view, true, true, -1);         view.setOnClickListener(new View.OnClickListener() {             @Override public void onClick(View view) {                 dialog.dismiss();             }         });         dialog.show();     } dialog_tips.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:orientation="vertical">     <ImageView         android:id="@+id/tips_iv"         android:layout_width="match_parent"         android:layout_height="match_parent"         android:scaleType="fitXY"/> </LinearLayout>

怕有的小伙伴 找不到合适的 蒙版图片 附上一张备用

希望可以帮助到大家 ,谢谢!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档