方法一:
通过Theme.Translucent
@android:style/Theme.Translucent @android:style/Theme.Translucent.NoTitleBar @android:style/Theme.Translucent.NoTitleBar.Fullscreen
只需要在Manifest中需要透明的Activity内设置theme为以上任意一个就可以了
<activity android:name="com.vixtel.simulate.MainApp" android:configChanges="keyboardHidden|orientation" android:label="@string/app_name" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
方法二:
自定义style,就像自定义Dialog的style一样,在res-values-color.xml中添加透明颜色值:
<?xml version="1.0" encoding="UTF-8"?> <resources> <color name="transparent">#0000</color> </resources>
在res-values-styles.xml中添加如下:
<style name="myTransparent"> <item name="android:windowBackground">@color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item> </style>
在Manifest中中需要透明的Activity内设置theme为我们自定义的即可
android:theme="@style/myTransparent"
运行程序后,就全透明了,看得见背景下的所有东西可以却都操作无效。
时间: 2024-10-10 14:18:20