2017-07-02 10 views
0

Ich möchte ein festes Navigationslayout erstellen, aber es gibt ein Problem, wenn ich das Gerät rotiere, der obere Rand dieses Layouts ist mehr als es sein muss, also die Frage - wie kann ich Höhe finden dieser dunkelblaue Kopf (es als Margin zu verwenden), oder vielleicht gibt es eine andere Art und WeiseSo finden Sie die Menühöhe

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_marginTop="55dp" 
    android:layout_height="80dp" 
    android:background="@drawable/panel_border" 
    android:layout_alignParentTop="true"> 

enter image description here

Antwort

0

Wenn ich Sie wäre, würde ich mit dieser gehen:

android:layout_marginTop="?attr/actionBarSize" 

Dieses Attribut richtige Höhe des ActionBar/Toolbar anzeigt.
Die Höhe Toolbars kann für verschiedene APIs unterschiedlich sein und deshalb sollten Sie ?android:attr oder ?attr verwenden (wenn Sie die Support-Bibliothek verwenden).
? bedeutet, dass es von internen Android-Ressourcen kommt.

0

die android Support-Bibliothek Lassen Sie es für Sie tut. Wie dies

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
<! -- Your View --> 

     <RelativeLayout 
     android:layout_width="match_parent" 

     android:layout_height="wrap_content" 
     android:background="@drawable/panel_border" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

<android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
    <android.support.v7.widget.Toolbar 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_scrollFlags="scroll|enterAlways"> 
</android.support.design.widget.AppBarLayout> 
</android.support.design.widget.CoordinatorLayout> 

einen Blick auf this

+0

Support-Bibliothek ist genial, aber wie kann es mir helfen –

+0

hart codierte Ränder ist eine schlechte Idee, in diesem Fall habe ich meine Antwort aktualisiert, um Ihr Beispiel zu passen –