一直聽說透明效果的activity输虱,到底長啥樣呢抱环?來張圖看看敬拓,上面這個白色背景的就是
透明activity.jpg
方法一
在res/values/styles.xml,設置Activity的樣式
<!--透明activity的style-->
<style name="transparent_activity">
<item name="android:windowBackground">@color/transparent_background</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>
color
<color name="transparent_background">#50000000</color>
Manifest.xml中添加
<activity
android:name=".TransparentActivity"
android:theme="@style/transparent_activity" />
這樣就給你的activity設置了透明度老速,當然這個color可以根據(jù)你的需要去調(diào)整透明度
方法二
只要在配置文件內(nèi)activity屬性配置內(nèi)加上
android:theme="@android:style/Theme.Translucent"
這樣就調(diào)用了android的透明樣式协饲!
備注說明
請務必讓你的Activity繼承自 android.app.Activity畏腕,而不是Android.support.v7.app.AppCompatActivity缴川。
如果你的啊窗體女同意繼承自AppCompatActivity,就會報錯如下
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
這個估計是系統(tǒng)的一個bug
解決辦法
//改成activity繼承自Activity:
public class MainActivity extends Activity