我已尝试使用主题定义为style.xml
的主题,使主题中的不同属性仍不起作用,使活动或主要布局透明化。
仅制作布局或活动的view.setalpha(0)
是透明的,但如何通过style.xml
实现。我正在使用Theme.AppCompact
来支持较低版本的Android设备。
此外,我已经尝试了很多SO答案,但没有一个正在运作。我做错了什么或有任何更正?到目前为止我所做的一切如下。
请帮我解决这个问题。
style.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="Theme.AppCompat.Translucent" parent="AppTheme">
<item name="android:background">@android:color/transparent</item> <!-- Or any transparency or color you need -->
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>
</resources>
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="demo.intel.com.serviceprogressbarnotification">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Translucent">
</activity>
<activity android:name=".TestActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:0)
我有同样的情况,但我想让我的窗口像对话框一样,在它的背景上,我把我所需的透明度水平。这是我用过的风格:
<style name="transparent_alertDialog" parent="Theme.AppCompat.Dialog.Alert"> <item name="windowNoTitle">true</item> <item name="android:windowActionBar">false</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:backgroundDimAmount">0.95</item> <item name="android:windowFullscreen">false</item> <item name="android:windowIsFloating">true</item> <item name="android:windowMinWidthMajor">50%</item> <item name="android:windowMinWidthMinor">50%</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowCloseOnTouchOutside">false</item> </style>
在清单中我使用它:
<activity
android:name=".PaymentConfirmationActivity"
android:label=""
android:theme="@style/transparent_alertDialog"
android:windowSoftInputMode="adjustPan"/>
所以它为我做了诀窍。 希望这对你也有帮助。