我有自定义列表视图布局。列表中的项目将为5或更多。如果不止这些,列表中有5-10个项目,它看起来不错。
但是,如果只有5个项目,那么在高度较大的设备列表下方会出现空格。这看起来不太好。
以下是我的列表行布局 -
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FFF"
android:orientation="horizontal"
android:padding="5dip" >
<TextView
android:id="@+id/txt_update_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="false"
android:paddingLeft="10sp"
android:text="title"
android:textColor="#b73a3e"
android:textStyle="bold"
android:typeface="normal" />
<TextView
android:id="@+id/txt_update_excerpt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/txt_update_title"
android:layout_marginTop="1dip"
android:focusable="false"
android:paddingLeft="10sp"
android:paddingRight="10dp"
android:text="text"
android:textColor="#343434"
android:textSize="15dip" />
<TextView
android:id="@+id/txt_uid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="20dip"
android:layout_toRightOf="@+id/txt_update_title"
android:focusable="false"
android:text="some" />
<ImageView
android:id="@+id/arrow"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignBottom="@+id/txt_uid"
android:layout_alignRight="@+id/txt_update_excerpt"
android:layout_centerInParent="true"
android:scaleType="centerInside"
android:paddingRight="5dp"
android:src="@drawable/arrow" />
</RelativeLayout>
和listview -
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="10dp" >
<TextView
android:id="@+id/tag_line"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/tagline"
android:textColor="#fff" />
<ListView
android:id="@+id/list_updates"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:cacheColorHint="#0000"
android:divider="#00000000"
android:dividerHeight="0px"
android:overScrollMode="never" >
</ListView>
</LinearLayout>
我想要的是,如果设备的高度较大,那么我希望列表通过缩放每行的高度来获取完整的高度,它应该显示所有项目没有滚动。如果项目更多,则应显示滚动。我该怎么设置呢?
更新
我可以选择加入一个解决方案,我会检查之前列表中有多少项目,如果它们小于5-6,我会选择一个不同的布局,包括LinearLayout或者会填补空白。但我无法弄清楚我需要为LinearLayout
选择的结构。我应该选择5-6 LinearLayout低于另一个还是单个迭代?
答案 0 :(得分:1)
嗯,在我看来,如果我需要实现这样的功能,我会像下面这样做:
每个高度都可以通过getHeight获取,也可以通过setHeight设置,它们是查看方法。
所以我觉得实施起来并不难......