我有一个listview和 在我的列表视图中,listview的每个项目都是这样设计的,即两个项目垂直排列在左边,两个项目垂直排列在右边,两个项目垂直排列在中间。现在我为此设计了布局,但它花了我我可以避免在这种情况下使用多个布局,因为它可能会影响性能?请注意我的第一个linearlayout有background.Below是代码 -
<?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>
答案 0 :(得分:1)
如果您使用TableLayout,那么您所描述的内容会更加平坦。你可以找到一个关于如何使用一个here的体面教程。这将允许您在一个视图组中完成所有操作,而不是您当前使用的四个视图组。
如果你想让每一行或每列都有不同的大小,那么RelativeLayout也是一个不错的选择(但我不认为你想看看你的代码)。