2016-03-24 3 views
2

В Play Марке я видел множество современных красивых приложений, которые используют изображение в качестве фона. Я решил использовать это решение в своем приложении. Я разрабатываю для минимального API 21 Android 5.0. Я подготовил изображение 1920x1080 для xxhdpi Nexus 5 AVD.Сделать все виды прозрачными, чтобы увидеть только фоновые изображения темы

enter image description here

Я использую материал легкую тему. Вот моя модифицированная тема определения 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> 

enter image description here

Когда я запускаю приложение, я вижу, что каждый вид использует свою собственную масштабируется копию изображения темы. Мой настраиваемый стиль «transparentActionBar» не влияет на панель действий. Только за строкой состояния я вижу нечто вроде оригинального изображения. Можно ли определить прозрачность всех представлений через XML, чтобы сделать видимым только фоновое изображение экрана? Если нет, скажите, пожалуйста, какой правильный подход к решению этой проблемы.

С уважением.

ответ

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> 

enter image description here