2016-08-01 69 views
0

我想在一個具有圖像,線性佈局內的兩個文本視圖和另一個圖像的Android應用程序中放置視圖。它的樣式像列表視圖'單元格',讓我想知道創建Android標準列表項目組件的最佳方式是什麼。 Android的風格指南在討論這些組件的外觀時非常具體,但是關於如何一致地再現這些組件的指導原則並不多。Android中三列表組件的標準佈局是什麼?

例如,我基本上是試圖重新此單元格: enter image description here

是否有這些細胞的任何標準佈局?如果不是,你會說什麼是處理這種單元佈局的最好方法?

目前我遇到的問題是,做這樣的事情:

<LinearLayout> 
    <ImageView/> 
    <LinearLayout> 
     <TextView/> 
     <TextView/> 
    </LinearLayout> 
    <ImageView/> 
</LinearLayout> 

從未展示第二張圖像顯示。

對此提出建議?無論是在我的具體情況還是在標準佈局?

更新

我有我的看法工作。正如有人建議的那樣,它的重量是LinearLayout。到底要得到它的工作我有兩個ImageView s的權重爲1,和內部LinearLayout權重爲0。

很抱歉,如果這是一個初學者的話題很長的問題 - 離開它爲問題的更一般的部分 - 標準組件的標準佈局。 (也許Stack Overflow的新文檔部分的候選人。)

+0

*永遠不會顯示第二個ImageView * - 爲什麼不呢?你的重量總和設置不正確嗎? –

回答

1

谷歌並沒有真正經歷併爲許多這些Material Design規範制定標準佈局。

這裏的基礎上,規範的佈局,讓你開始:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="88dp"> 

    <ImageView 
     android:id="@+id/image_view" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="16dp" 
     android:layout_marginStart="16dp" 
     android:layout_marginTop="20dp" 
     tools:src="@drawable/ic_error_white_24dp"/> 

    <TextView 
     android:id="@+id/text_view1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="72dp" 
     android:layout_marginStart="72dp" 
     android:layout_marginRight="56dp" 
     android:layout_marginEnd="56dp" 
     android:layout_marginTop="16dp" 
     android:maxLines="1" 
     android:textSize="16sp" 
     android:textColor="?android:attr/textColorPrimary" 
     tools:text="This is the title line"/> 

    <TextView 
     android:id="@+id/text_view2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_below="@+id/text_view1" 
     android:layout_marginLeft="72dp" 
     android:layout_marginStart="72dp" 
     android:layout_marginRight="56dp" 
     android:layout_marginEnd="56dp" 
     android:maxLines="1" 
     android:textSize="14sp" 
     android:textColor="?android:attr/textColorSecondary" 
     tools:text="This is the second line"/> 

    <TextView 
     android:id="@+id/text_view3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_below="@+id/text_view2" 
     android:layout_marginLeft="72dp" 
     android:layout_marginStart="72dp" 
     android:layout_marginRight="56dp" 
     android:layout_marginEnd="56dp" 
     android:maxLines="1" 
     android:textSize="14sp" 
     android:textColor="?android:attr/textColorSecondary" 
     tools:text="This is the third line"/> 

    <ImageView 
     android:id="@+id/image_view_2" 
     android:layout_width="24dp" 
     android:layout_height="24dp" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginRight="16dp" 
     android:layout_marginEnd="16dp" 
     android:layout_marginTop="20dp" 
     tools:src="@drawable/ic_error_white_24dp"/> 

</RelativeLayout> 

請注意,我沒有使用維值和文本樣式;這是你可以經歷和做的事情。這只是爲了讓你走上正軌。