2017-08-05 21 views
3

我需要在列表視圖中列出聯繫人,以顯示每個行項目的圖像,聯繫人姓名,號碼和呼叫圖標。如何將列表視圖分成三列,並將其中一列垂直放入兩列android

每行應該分成三列。 第一欄將有聯繫人圖片,第二欄垂直分爲兩部分,第一列用於聯繫人姓名,第二列用於數字。 和最後一列將有一個圖標/圖像。

required layout

我在下面試過。但沒有得到所需的格式。 這是可能的,我們在下面(而不是gridview)使用Listview嗎?

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

    <ListView 
     android:id="@+id/listView_all_cont" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#a556f4" 
     android:scrollbars="horizontal"/> 


    <ImageView 
     android:id="@+id/imgView_contImg" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginStart="@dimen/activity_horizontal_margin" 
     android:src="@drawable/no_image" /> 

    <TextView 
     android:id="@+id/txtView_name" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginStart="@dimen/activity_horizontal_margin" 
     android:textColor="#ffffff" 
     android:textSize="18sp" /> 

    <TextView 
     android:id="@+id/txtView_number" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginStart="@dimen/activity_horizontal_margin" 
     android:textColor="#ffffff" 
     android:textSize="14sp" /> 

</LinearLayout> 

有人可以幫忙嗎?

回答

1

是的,這可能與ListView。我建議你瞭解一下RecyclerViewRecyclerView給予更多而不是ListView。您只需創建一個item_row.xml並在您的Adapter中膨脹該行項目。試試這個代碼。

item.row.xml

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="105dp"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight=".3"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:src="@mipmap/ic_launcher"/> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight=".7" 
      android:orientation="vertical"> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:text="Text1" 
       android:paddingLeft="10dp" 
       android:gravity="center_vertical"/> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:text="Text1" 
       android:paddingLeft="10dp" 
       android:gravity="center_vertical"/> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight=".2"> 
      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:src="@mipmap/ic_launcher"/> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 
1

你可以有你ActivityFragment佈局這樣,

main_layout.xml

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

    <ListView 
     android:id="@+id/listView_all_cont" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#a556f4" 
     android:scrollbars="horizontal"/> 


</LinearLayout> 

列表項目佈局list_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingBottom="8dp" 
    android:paddingLeft="16dp" 
    android:paddingRight="16dp" 
    android:paddingTop="8dp"> 

    <ImageView 
     android:id="@+id/user_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/ic_action_name"/> 

    <ImageView 
     android:id="@+id/action_image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/ic_action_name"/> 

    <TextView 
     android:id="@+id/name_tv" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/action_image" 
     android:layout_toRightOf="@+id/user_image" 
     android:padding="5dp" 
     android:text="XYZ"/> 

    <TextView 
     android:id="@+id/number_tv" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/name_tv" 
     android:layout_toLeftOf="@+id/action_image" 
     android:layout_toRightOf="@+id/user_image" 
     android:padding="5dp" 
     android:text="12345"/> 

</RelativeLayout> 

您可以嘗試RecycleView