【问题标题】:Android: How to obtain an overlay on top of acitivityAndroid:如何在活动之上获得覆盖
【发布时间】:2013-01-07 06:03:05
【问题描述】:

当用户第一次安装我的应用程序时,我想向他解释每个活动的作用(如快速提示),它应该如下图所示

它应该有取消按钮,并且在第一次安装后不应该重复,

我需要建议或任何有用的链接,如何实现它,感谢任何帮助。

【问题讨论】:

  • 您可以使用首选项执行此操作请参考developer.android.com/reference/android/preference/…
  • 如何开始一个Activity (没有动画) 以获得快速提示?这样你就可以从任何地方开始,每次都有不同的提示?
  • @AdilSoomro 我有 5 个屏幕,每当用户第一次使用该功能时,我需要 5 个快速提示。

标签: android


【解决方案1】:

您可以使用 SharePreference 来存储用户是否查看过您的指令的状态。只需将名为“instructionViewed”的布尔值添加到 SharePreference。每次启动应用程序时,检查该值。如果为真,则不显示指令。如果为假,则显示说明。当用户单击取消按钮时,将值设置为 true。

SharePreference 是一个非常易于使用的类,可以帮助存储一些信息。你可以谷歌如何使用它。

希望这有帮助。


    @Override
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.testpage);

         //Check SharePreference
         boolean instructionViewed = checkInstrunctionState();

         //If the instruction is not viewed, show instruction.    
         if(!instructionViewed){
               RelativeLayout yourLayout = createYourOwnUi();
               FrameLayout contentView  = (FrameLayout)(getWindow().getDecorView().findViewById(android.R.id.content));
               FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(MATCH_PARENT,MATCH_PARENT);
               contentView.addView(yourLayout, lp);
             }
        }

【讨论】:

  • 谢谢..共享偏好非常适合这个,我对 UI 感到困惑,我怎样才能获得与上图完全相同的 Ui。
  • 是的,如何实现半透明黑色背景,透明背景的东西在活动之上。
  • 所以您的问题是如何将其添加到活动的顶部。从我的代码中,您可以看到我将您的指令布局添加到 FrameLayout(id 是 android.R.id.content),我们称之为内容视图。 ContentView 是顶部 FrameLayout 包含您的应用程序(它是由 Android 添加的)。当您将指令布局添加到 contentview 时,指令布局将在顶部并覆盖您的应用程序。
  • 请阅读此主题。它解释得更清楚。stackoverflow.com/questions/9979648/…
  • 感谢链接非常有用..我应该使用 createYourOwnUi();在我的活动的 oncreate 方法中?
猜你喜欢
  • 1970-01-01
  • 2017-12-15
  • 2012-11-04
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
相关资源
最近更新 更多