Gru*_*kes 4 android android-activity
我有一个活动占据了屏幕的一部分(它的样式为style/android:Theme.Holo.Dialog.NoActionBar),因此堆栈中的另一个活动在其下方可见。
当单击活动上的按钮时,它会显示一个系统对话框,并且活动应该从视图中消失,但活动必须仍然存在,因为它作为回调传递给系统对话框。
我尝试将根视图(RelativeLayout)的可见性设置为 INVISIBLE 但这只会使活动变黑并且在系统对话框下方可见。将视图的 alpha 设置为 0.0 也具有相同的效果。
将视图的可见性设置为 GONE 具有所需的效果,但有一种奇怪的动画类型,在系统对话框出现之前,活动变黑并缩小到一个很小的视图。这发生得很快,但看起来很奇怪。这是操作系统必须做的事情,因为我当然没有做任何事情来创造这种效果。
有没有另一种方法可以隐藏获得所需结果的活动并且不会产生奇怪的副作用工件动画?
小智 5
首先,按照以下步骤使您的活动窗口半透明:如何在 Android 上创建透明的活动?
然后,您可以FrameLayout包装整个活动布局(具有透明背景),并在显示 Dialog 时设置由FrameLayoutas包装的视图View.INVISIBLE。
这似乎适用于您的解决方案。让我知道。
要指定您的主题,请将其用作新主题的父主题,如下所示:
<resources>
<style name="Theme.YourCustomTransparentTheme" parent="android:Theme.Holo.Dialog.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
这样,您的所有其他属性都将得到维护,并且您将添加透明功能。
| 归档时间: |
|
| 查看次数: |
6874 次 |
| 最近记录: |