2017-12-14 14 views
-1

Navigaionビューのヘッダにイメージを集中させる必要があります。まず、私はlayout_gravitygravitycenter_verticallayout_centerVertical="true"に設定しようとしました。これは役に立たなかった。次のステップはmarginspaddingに設定されました。これも役に立たなかった。そして今、私はそれを一元化することを知らない。ここに私のコードですナビゲーションビューのヘッダーにイメージを集中させるには?

nav_header

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/nav_header_height" 
     android:orientation="vertical" 
     > 

     <de.hdodenhof.circleimageview.CircleImageView 
      android:id="@+id/ivAvatar" 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:src="@drawable/user" 
      android:background="@drawable/user" 
      android:layout_marginLeft="24dp" 
      android:layout_centerVertical="true" 
      android:layout_gravity="center_vertical" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginStart="24dp" 
      /> 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_marginLeft="@dimen/medium_margin" 
     android:layout_marginTop="@dimen/medium_margin" 
     android:layout_marginBottom="@dimen/medium_margin" 
     android:layout_toRightOf="@+id/ivAvatar" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true"> 
     <me.grantland.widget.AutofitTextView 
      android:id="@+id/tvName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Charla" 
      android:singleLine="true" 
      android:textColor="@color/transparent_white" 
      android:textAppearance="@style/TextAppearance.AppCompat.Body1" 
      android:textSize="22sp" /> 
     <me.grantland.widget.AutofitTextView 
      android:id="@+id/tvLastName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Reeves" 
      android:singleLine="true" 
      android:textColor="@color/transparent_white" 
      android:textSize="22sp" /> 
    </LinearLayout> 
</RelativeLayout> 

ナビゲーションビュー

ここで、それは(私はそれが表示される必要があるか)プレビューでどのように見えるのです
<android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     android:background="@drawable/background" 
     app:headerLayout="@layout/nav_header" 
     app:menu="@menu/menu_list" 
     app:itemIconTint="@color/menu_text_color" 
     app:itemTextColor="@color/menu_text_color" 
     app:itemBackground="@drawable/nav_view_background" 

     > 

    </android.support.design.widget.NavigationView> 

enter image description here

01ここで

iはアプリを実行したときに、それが実際にどのように見えるかです:

enter image description here

+0

問題が何であるかを明確にして、スクリーンショットを少し大きくしてステータスバーを追加してください。 – Mihai

+0

@ミハイ私の質問を編集します。私のイメージとテキストはvertical_centerになければなりません。私が得ているものとは異なります。 – Toper

答えて

0

あなたが発生している問題は、ナビゲーション引き出しが(24ディップ高いです)ステータスバーの下に描くということです。それについての詳細を読むhere

+0

どうすればいいですか? – Toper

+0

あなたはあなたのレイアウトにトップマージンを追加することができます(これはハックのようなものです)。または、アプリケーションがステータスバーの下のスペースを使用しないようにします(アンドロイド:fitsSystemWindows = "true"をナビゲーションレイアウトに追加します)。 – Mihai

+0

余白を追加する助けがありません:( – Toper

関連する問題