2017-08-05 80 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