2017-01-12 18 views
0

2つのレイアウトの間にイメージビューを持つ2つの線形レイアウトを整列させるアンドロイドアプリを開発しています。アンドロイドスタジオレイアウトエディタこれを達成する。レイアウトの2つの線形レイアウトと画像ビューを相対的なレイアウトに配置相対レイアウト

コードは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:orientation="vertical"> 

    <RelativeLayout 
     android:id="@+id/nav_header_container" 
     android:layout_width="match_parent" 
     android:layout_height="160dp" 
     android:background="@color/colorPrimary"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/rounded_corner" 
      android:orientation="vertical" 
      android:layout_marginEnd="17dp" 
      android:layout_centerVertical="true" 
      android:layout_alignParentEnd="true"> 
      <TextView 
      android:text="DEFG" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/textView8" 
      android:layout_gravity="center" 
      /> 
     <TextView 
      android:text="TextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/textView16" 
      tools:text="1250" 
      android:textSize="30sp" 
      android:textColorLink="?attr/colorBackgroundFloating" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:background="@drawable/rounded_corner" 
      android:layout_marginEnd="30dp" 
      android:layout_toStartOf="@+id/profile_image"> 

      <TextView 
       android:text="ABCD" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/textView3" 
       android:layout_gravity="center" 
       /> 

      <TextView 
       android:text="TextView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/textView13" 
       tools:text="1250" 
       android:textSize="30sp" 
       android:textColorLink="?attr/colorBackgroundFloating" /> 
     </LinearLayout> 

     <ImageView 
      android:id="@+id/profile_image" 
      android:layout_width="60dp" 
      android:src="@drawable/face" 
      android:layout_height="60dp" 
      android:layout_centerHorizontal="true" /> 

    </RelativeLayout> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/drawerList" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="16dp"/> 

</LinearLayout> 

電流出力:

enter image description here

予想される出力:イメージビューの行に

2リニアレイアウトで相対レイアウトの中心(G REEN背景)

enter image description here

は、私は、レイアウトの配置と間違って何かをやっていますか?どのようにこのようなシナリオを実装する?

+2

は、あなたが、私は答えを投稿しません申し訳ありませんアンドロイド開発に新しく追加されたようです!私はあなたがXMLレイアウトとコードで遊ぶことを望みます、それはあなたがそれを完全に学ぶのを助けるでしょう! –

+0

線形レイアウトでウェイトを使用する必要があります –

+0

@PareshMayaniさん、何かコメント:p –

答えて

0

変更1からRelativeLayoutLinearLayoutに(水平) セット0dpに幅と重量は、このように彼らは同じ幅を持つことになります。そして、あなたはこれを達成することができますのLinearLayoutに重みを使用することによりcenter

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:id="@+id/nav_header_container" 
     android:layout_width="match_parent" 
     android:layout_height="160dp" 
     android:background="@color/colorPrimary"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:background="@drawable/rounded_corner" 
      android:orientation="vertical" 
      android:layout_marginEnd="17dp" 
      android:layout_weight="1" 
      android:gravity="center"> 
      <TextView 
       android:text="DEFG" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/textView8" 
       android:layout_gravity="center" 
       /> 
      <TextView 
       android:text="TextView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/textView16" 
       tools:text="1250" 
       android:textSize="30sp" 
       android:textColorLink="?attr/colorBackgroundFloating" /> 
     </LinearLayout> 

     <ImageView 
      android:id="@+id/profile_image" 
      android:layout_width="0dp" 
      android:src="@drawable/rounded_corner" 
      android:layout_height="match_parent" 
      android:layout_centerHorizontal="true" 
      android:layout_weight="1" 
      android:layout_gravity="center" /> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:background="@drawable/rounded_corner" 
      android:layout_marginEnd="30dp" 
      android:layout_weight="1" 
      android:gravity="center"> 

      <TextView 
       android:text="ABCD" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/textView3" 
       android:layout_gravity="center" 
       /> 

      <TextView 
       android:text="TextView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/textView13" 
       tools:text="1250" 
       android:textSize="30sp" 
       android:textColorLink="?attr/colorBackgroundFloating" /> 
     </LinearLayout> 

    </LinearLayout> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/drawerList" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="16dp"/> 

</LinearLayout> 
0

で物事を入れてgravityを使用しています。

チェックこのコードが、コピー&ペーストする前のLinearLayoutで重量のロジックを学ぶ:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/white" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:id="@+id/nav_header_container" 
     android:layout_width="match_parent" 
     android:layout_height="160dp" 
     android:background="#ffffff" 
     android:orientation="horizontal"> 

     <RelativeLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_weight="4" 
      android:gravity="center" 
      android:orientation="vertical"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:src="@drawable/rounded_corner" /> 

      <TextView 
       android:id="@+id/textView8" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:text="DEFG" /> 

      <TextView 
       android:id="@+id/textView16" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/textView8" 
       android:layout_centerHorizontal="true" 
       android:text="TextView" 
       android:textColorLink="?attr/colorBackgroundFloating" 
       android:textSize="30sp" 
       tools:text="1250" /> 
     </RelativeLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="center" 
      android:layout_weight="2" 
      android:gravity="center"> 

      <ImageView 
       android:id="@+id/profile_image" 
       android:layout_width="60dp" 
       android:layout_height="60dp" 
       android:layout_gravity="center" 
       android:src="@drawable/face" /> 
     </LinearLayout> 

     <RelativeLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_weight="4" 
      android:gravity="center" 
      android:orientation="vertical"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:src="@drawable/rounded_corner" /> 

      <TextView 
       android:id="@+id/textView3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:text="ABCD" /> 

      <TextView 
       android:id="@+id/textView13" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/textView3" 
       android:layout_centerHorizontal="true" 
       android:text="TextView" 
       android:textColorLink="?attr/colorBackgroundFloating" 
       android:textSize="30sp" 
       tools:text="1250" /> 
     </RelativeLayout> 


    </LinearLayout> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/drawerList" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="16dp" /> 

</LinearLayout> 
関連する問題