使所有视图透明以仅查看主题背景图像
Make all views transparent to see only theme background image
我在 Play 商店看到很多使用图像作为背景的现代精美应用。我决定在我的应用程序中使用这个解决方案。我开发最低 API 21 Android 5.0。我为 xxhdpi Nexus 5 AVD 准备了 1920x1080 图像。
我使用 material 浅色主题。这是我修改后的主题定义 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 定义所有视图的透明度以仅显示屏幕背景图像?如果不是,请告诉您解决此问题的正确方法是什么。
此致。
这段代码完全符合我的要求
<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>
我在 Play 商店看到很多使用图像作为背景的现代精美应用。我决定在我的应用程序中使用这个解决方案。我开发最低 API 21 Android 5.0。我为 xxhdpi Nexus 5 AVD 准备了 1920x1080 图像。
我使用 material 浅色主题。这是我修改后的主题定义 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 定义所有视图的透明度以仅显示屏幕背景图像?如果不是,请告诉您解决此问题的正确方法是什么。
此致。
这段代码完全符合我的要求
<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>