- 必須知道
默認(rèn)的程序Application使用的是AppTheme:
s <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>
這里用的是parent:Theme.AppCompat.Light.NoActionBar沒有ActionBar并且是淡色主題,就是界面的主題顏色是淡色,陪襯顏色是深色。與之對(duì)應(yīng)的是
Theme.AppCompat.NoAction 深顏色主題,陪襯的是淺色的。
- 實(shí)現(xiàn)當(dāng)前Activity的半透明/透明效果
第一步:在res/values/styles.xml文件下面,建立如下所示代碼:
<style name="myTransparent" parent="Theme.AppCompat.Light.NoActionBar">
<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>
/**這里需要注意的是,必須要有這個(gè)parent 繼承自AppCompat系列,要不然程序就會(huì)出錯(cuò)*/
第二步:
看上面,可以發(fā)現(xiàn)需要自己的顏色color/transparent
<color name="transparent">#50000000</color> //比如這個(gè)數(shù)字,設(shè)置出來顯示的是灰但是可以看見下層的activity
如果用#00000000則是完全透明了,調(diào)制透明主要是通過前面兩位,從00~90這個(gè)可控范圍之間。
第三步:
在清單文件中,對(duì)需要的activity配置android:theme:這個(gè)屬性。
第四步:
在需要的activity的onCreate()方法中,配置:
setTheme(R.style.Transparent); //使用這個(gè)主題
setContentView(R.layout.transparent); //給其設(shè)置布局文件