我在Play商店中看到很多使用图像作为背景的现代漂亮应用程序。我决定在我的应用程序中使用此解决方案。我开发了最低API 21 Android 5.0。我为xxhdpi Nexus 5 AVD准备了1920x1080图像。
我使用素材主题。这是我修改过的主题定义xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Material.Light">
<!-- Customize your theme here. -->
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorAccent">@color/colorAccent</item>
<item name="android:background">@drawable/parquet</item>
<item name="android:actionBarStyle">@style/transparentActionBar</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
<style name="transparentActionBar" parent="android:Widget.Material.Light.ActionBar">
<item name="android:background">@android:color/transparent</item>
</style>
当我运行应用程序时,我看到每个视图都使用自己的主题图像缩放副本。我的自定义样式'transparentActionBar'对操作栏没有影响。只有状态栏后面我看到像原始图像。是否可以通过XML定义所有视图透明度,以使可见的屏幕背景图像?如果不是,请说明解决此问题的正确方法。
问候。
答案 0 :(得分:3)
此代码完全符合我的要求
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Material.Light">
<!-- Customize your theme here. -->
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorAccent">@color/colorAccent</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowBackground">@drawable/parquet</item>
<item name="android:actionBarStyle">@style/ActionBarStyle.Transparent</item>
</style>
<style name="ActionBarStyle.Transparent" parent="android:Widget.Material.Light.ActionBar">
<item name="android:background">@null</item>
</style>