2017-01-12 165 views
0

我正在一個android應用程序,我想在這兩個layouts.I之間的圖像視圖行中對齊2線性佈局我不能使用android studio佈局編輯器爲了達成這個。對齊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穎背景)

enter image description here

我做得不對佈局的安排?如何實施這種情況?

+2

看來你是新來的android開發,對不起,我將不會發布答案!我希望你能夠使用xml佈局和代碼,這將幫助你完美地學習它! –

+0

你應該使用重量線性佈局 –

+0

@PareshMayani先生,什麼意見:p –

回答

0

更改RelativeLayoutLinearLayout(水平) 組寬度0dp和重量1因此它們將具有相同的寬度。並使用gravity把東西在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

通過使用權重的LinearLayout中,你可以做到這一點。

檢查這個代碼,但複製粘貼之前瞭解重的邏輯的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>