2016-07-29 20 views
1

Ich habe Layout mit zentriert Bildansicht.Bildschirmhöhe je nach Thema

<?xml version="1.0" encoding="utf-8"?> 
<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="@color/WHITE"> 

    <ImageView 
     android:id="@+id/powered_by" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:src="@drawable/powered_by" /> 

    <ImageView 
     android:id="@+id/splash_logo" 
     android:src="@drawable/logo" 
     app:layout_widthPercent="70%" 
     app:layout_heightPercent="70%" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:adjustViewBounds="true" 
     android:visibility="invisible" /> 

</android.support.percent.PercentRelativeLayout> 

Hier Thema Einstellung für meine Tätigkeit

<style name="SplashTheme" parent="android:Theme.Holo.Light"> 
    <item name="android:windowBackground">@drawable/splash</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
</style> 

ist, wenn ich Eltern Thema android:Theme.DeviceDefault.Light ändern, erscheint Image ein wenig höher, nicht in der Mitte des Bildschirms. Es sieht so aus, als ob die Elternansicht für mein Gerät jetzt nicht vom unteren Bildschirmrand aus beginnt, sondern von der unteren Symbolleiste (ich verwende Nexus 5X mit Bildschirmtasten).

Ich möchte das Standard-Thema des Geräts für eine moderne Dialogdarstellung verwenden, aber ich muss diese Bildansicht auch genau in der Mitte auf allen Geräten haben.

Wie geht das?

Antwort

0

Es scheint wie android:Theme.DeviceDefault.Light ist nicht android:windowFullScreen Einstellung. So müssen Sie Ihr eigenes Thema mit dem übergeordneten android:Theme.DeviceDefault.Light und ändern Sie die Werte für die Elemente, die Sie

<style name="TestTheme" parent="android:Theme.DeviceDefault.Light"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
</style> 
+0

ändern wollen erstellen ist es nicht für mich arbeiten, leider. Ich habe den gleichen Stil verwendet, die Bildansicht ist damit nicht zentriert. –

+0

Muss den Layout-Code dann posten, um zu sehen, ob das Problem dort ist – ganlaw

Verwandte Themen