今天写一个布局纠结了好久。我想我也说不明白难在哪里。这里记录一下以后方便查阅。
要实现的效果:
重点是:每一个Item的左边是一个Button,我设置了有对齐,宽度为40dp,右边的文字布局,就是绿色背景的部分,要在Button的左边,并且根据屏幕的不同大小,绿色的部分会自由伸缩,这样在横布局的时候都能保值一致的布局。看代码;
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="8dp"
android:paddingLeft="8dp"
android:paddingTop="8dp"
android:shrinkColumns="0"
android:stretchColumns="0" >
<TableRow>
<RelativeLayout android:id="@+id/borrowed_content" >
<TextView
android:id="@+id/borrowed_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:singleLine="true"
android:text="TextView01"
android:textColor="#000000"
android:textSize="15dip" />
<TextView
android:id="@+id/borrowed_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/borrowed_title"
android:text="TextView"
android:textColor="#AAAAAA"
android:textSize="10dip" />
<TextView
android:id="@+id/lent_date"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/borrowed_title"
android:gravity="right"
android:singleLine="true"
android:text="TextView"
android:textColor="#AAAAAA"
android:textSize="10dip" />
<!-- 显示搜索结果时附加的信息 -->
<TextView
android:id="@+id/publish_date_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/borrowed_date"
android:text="出版年:"
android:textColor="#AAAAAA"
android:textSize="10dip"
android:visibility="gone" />
<TextView
android:id="@+id/publish_date_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/borrowed_date"
android:layout_toRightOf="@+id/publish_date_title"
android:textColor="#AAAAAA"
android:textSize="10dip"
android:visibility="gone" />
<TextView
android:id="@+id/borrowable_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/borrowed_date"
android:textColor="#AAAAAA"
android:textSize="10dip"
android:visibility="gone" />
<TextView
android:id="@+id/borrowable_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/borrowed_date"
android:layout_toLeftOf="@+id/borrowable_content"
android:text="可借:"
android:textColor="#AAAAAA"
android:textSize="10dip"
android:visibility="gone" />
</RelativeLayout>
<!-- 显示搜索结果时附加的信息 -->
<Button
android:id="@+id/button_next"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_gravity="right|center"
android:gravity="center"
android:background="@drawable/icon_next"
android:clickable="true"
android:focusable="false"
android:scaleType="centerInside" />
</TableRow>
</TableLayout>
android:shrinkColumns="0"
android:stretchColumns="0" >
要同时设置第0列,也就是绿色部分要同时能收缩和延伸。如果只是设置一个,起不到这样的作用。