Xav*_*Gil 14 transparency android android-theme android-activity
我希望有一个活动(2),半透明的方面超过另一个活动(1),在屏幕的顶部对齐(4).

我尝试将这些主题分配给活动编号2:
<style name="Theme.CustomDialog" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@android:color/black</item>
</style>
<style name="CustomTheme">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但结果总是3.
如果我<item name="android:windowIsFloating">false</item>在CustomTheme结果中设置为2.
谁能告诉我怎样才能得到4?谢谢!
更新:这是我的活动2布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" android:background="#0000">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:background="#FFFFFF">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Menu" android:layout_centerHorizontal="true"/>
</RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
Xav*_*Gil 22
最后,这个主题可以得到像图像4这样的结果:
<style name="Theme.CustomTranslucent" parent="android:style/Theme.Translucent">
<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">0.5</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:background">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在我的活动2布局中,我可以设置android:background="@android:color/transparent"或不设置任何值以使其工作.
感谢MikeIsrael和Veer的帮助.
小智 10
我已经阅读了其他解决方案,但这是我的解决方案:
style.xml
<resources>
<style name="mytransparent.windowNoTitle" parent="android:Theme.Holo.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
<style name="mytransparent.windowTitle" parent="android:Theme.Holo.Light">
<item name="android:background">@android:color/transparent</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中
<activity
android:name=".LoginActivity"
android:theme="@style/mytransparent.windowTitle"
android:configChanges="orientation"
android:label="@string/title_activity_login"
android:screenOrientation="portrait" ></activity>
Run Code Online (Sandbox Code Playgroud)
小智 5
如果你使用AppCompatActivity那么你应该使用as parent,Theme.AppCompat否则应用程序可能会因错误而挂起或崩溃(java.lang.RuntimeException: Unable to start activity ComponentInfo ... Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.).
<style name="MyTheme" parent="AppTheme.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowContentOverlay">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29088 次 |
| 最近记录: |