【问题标题】:Activity dialog themed活动对话框主题
【发布时间】:2013-02-06 16:46:39
【问题描述】:

我正在创建一个 Android 小部件。我的小部件有一个视图,单击它会打开一个看起来像 DialogActivity

我已更新 AndroidManifest.xml 以将此活动设置为像对话框一样的样式。

<activity 
    android:name=".Widget.Widget_OeffneDialog" 
    android:theme="@android:style/Theme.Dialog">
</activity>

运行得非常棒。

现在我从这个小部件打开应用程序并单击主页按钮(应用程序现在在后台),然后单击对话框显示的 wdget - 但应用程序的其余部分显示在对话框后面。

喜欢这里:

我不想看到对话框活动下方的上一个活动 - 我该怎么做?

【问题讨论】:

    标签: android android-activity dialog


    【解决方案1】:

    当您从启动器启动 Widget_OeffneDialog 活动时,Android 只是恢复当前在后台的实例 - 以及它包含的任何 backstack 和历史记录。

    尝试强制您的小部件启动 Activity 的新实例。

    Intent intent = new Intent(this, A.class);
    intent.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    

    【讨论】:

      【解决方案2】:

      为此使用 Theme.Translucent。半透明主题不会使背景中的应用程序/视图变暗。 请注意,半透明主题不使用动画,因此您可能需要更改它。这是来自 Android 源代码的主题 XML:

       <style name="Theme.Translucent">
          <item name="android:windowBackground">@android:color/transparent</item>
          <item name="android:colorBackgroundCacheHint">@null</item>
          <item name="android:windowIsTranslucent">true</item>
          <!-- Note that we use the base animation style here (that is no
               animations) because we really have no idea how this kind of
               activity will be used. -->
          <item name="android:windowAnimationStyle">@android:style/Animation</item>
      </style>
      

      【讨论】:

      • 对不起,但我认为这不是我想要的。此解决方案使背景透明。但是我如果点击后退按钮,应用程序会显示“主要”-Activity。我唯一想要的是像这里这样的对话框:x.co/tMom
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多