0

我在我的列表视图中有一个列表视图和 每个列表视图项目的设计方式是两个项目垂直排列在左侧,两个项目垂直排列在右侧,两个项目垂直排列在右侧项目之间是垂直排列的。现在我已经为此设计了布局,但是我花了三次内部布局来制作它。可以避免在这种情况下使用多个布局,因为它可能会影响性能?请注意,我的第一个线性布局具有背景。下面是代码 -避免在列表视图项目中使用多个布局

<?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:gravity="center_vertical" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/dp16" 
    android:paddingLeft="@dimen/dp16" 
    android:paddingRight="@dimen/dp16" 
    android:paddingTop="@dimen/dp16"> 
    <LinearLayout 
     android:id="@+id/item1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/background_date" 
     android:orientation="vertical"> 
     <TextView 
      android:id="@+id/mon" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/colorPrimary" 
      android:gravity="center" 
      android:paddingBottom="@dimen/dp5" 
      android:paddingLeft="@dimen/dp15" 
      android:paddingRight="@dimen/dp15" 
      android:paddingTop="@dimen/dp5" 

      android:textColor="@color/white" 
      android:textSize="@dimen/sp16" /> 
     <TextView 
      android:id="@+id/dat" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:paddingBottom="@dimen/dp5" 
      android:paddingLeft="@dimen/dp15" 
      android:paddingRight="@dimen/dp15" 
      android:paddingTop="@dimen/dp5" 

      android:textColor="@color/greytext" 
      android:textSize="@dimen/sp16" /> 
    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/item2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical" 
     android:layout_marginLeft="@dimen/dp12" 
     android:layout_toRightOf="@+id/item1" 
     android:orientation="vertical"> 
     <TextView 
      android:id="@+id/Id" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:paddingTop="@dimen/dp5" 

      android:textColor="@color/greytext" 
      android:textSize="@dimen/sp16" /> 
     <TextView 
      android:id="@+id/time" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:paddingTop="@dimen/dp2" 

      android:textColor="@color/greytext" 
      android:textSize="@dimen/sp16" /> 
    </LinearLayout> 
    <LinearLayout 
     android:id="@+id/item3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:orientation="vertical"> 
     <TextView 
      android:id="@+id/eyn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:paddingTop="@dimen/dp5" 

      android:textColor="@color/greytext" 
      android:textSize="@dimen/sp16" /> 
     <TextView 
      android:id="@+id/tus" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:paddingTop="@dimen/dp2" 
      android:singleLine="true" 

      android:textColor="@color/greytext" 
      android:textSize="@dimen/sp16" /> 
    </LinearLayout> 
</RelativeLayout> 

回答

1

如果您使用TableLayout,您所描述的会更平坦。你可以找到一个体面的教程,如何使用一个here。这将允许您在一个视图组中完成所有操作,而不是您目前使用的四个视图。

如果您希望允许每行或每列具有不同的大小,RelativeLayout也是一个不错的选择(但我不认为您希望看到您的代码)。

+0

在TableLayout中,TableRow仅扩展了LinearLayout.So是否在这里使用TableLayout的优势?还有,我们将使用四个布局,如TableRow extends LinearLayout .. –

相关问题