在Android 的程序中设置项可以说是一个必须要有的页面。下面说一下如何写一个基本的设置页面。我们先来看一下常用安卓程序的设置页面:
都是大同小异,下面说一下如何实现。其实就是layout的组合,关键是如何去设置图中的圆角。因为大家都知道Android默认的方形的,要想实现圆角就需要我们自己来实现了。方法有很多种,一种实现方法就是做一个背景图片,把图片边角改成圆角的.9.png格式的。如下:
这样的话就比较容易实现了,再看一下整体的Layout布局情况:
xml布局文件如下:注意层次的嵌套。先是一个RelativeLayout,它有两个子布局,RelativeLayout和LinearLayout。
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/empty_cart_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffefebe7" >
<RelativeLayout
android:id="@+id/top_relative"
android:layout_width="fill_parent"
android:background="#106184"
android:layout_height="50.0dip" >
<TextView
android:id="@+id/titleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="10.0dip"
android:singleLine="true"
android:text="设置"
android:textColor="@color/white"
android:textSize="15dp" />
</RelativeLayout>
<ScrollView //用来垂直滚动视图,用于设置项较多的情形。如果设置项不多,例如上面的qq,那么就不需要了。
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/top_relative"
android:fadingEdge="none" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingBottom="60.0dip"
android:paddingLeft="10.0dip"
android:paddingRight="10.0dip"
android:paddingTop="10.0dip" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableLayout
android:id="@+id/MorePageTableLayout_Favorite"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="0"
android:stretchColumns="0" >
<TableRow
android:id="@+id/more_page_row0"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_item_press"//.9.png图片圆角的实现。
android:paddingBottom="16.0dip"
android:paddingTop="8.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/mylike"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="我的设置"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
</TableLayout>
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10.0dip"
android:layout_marginTop="10.0dip"
android:gravity="center_vertical"
android:paddingLeft="4.0dip"
android:text="我的设置"
android:textColor="#ff888888"
android:textSize="16.0sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableLayout
android:id="@+id/MorePageTableLayout_Follow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="1.0dip"
android:shrinkColumns="0"
android:stretchColumns="0" >
<TableRow
android:id="@+id/more_page_row1"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_itemtop_press"
android:paddingBottom="16.0dip"
android:paddingTop="16.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/myfollow"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="账号管理"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
<TableRow
android:id="@+id/more_page_row2"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_itemmiddle_press"
android:paddingBottom="16.0dip"
android:paddingTop="16.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/search_friends"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="个人爱好"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
<TableRow
android:id="@+id/more_page_row3"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_itembottom_press"
android:paddingBottom="16.0dip"
android:paddingTop="16.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/invite_friends"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="浏览记录"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
</TableLayout>
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10.0dip"
android:layout_marginTop="10.0dip"
android:gravity="center_vertical"
android:paddingLeft="4.0dip"
android:text="客户端"
android:textColor="#ff888888"
android:textSize="16.0sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TableLayout
android:id="@+id/MorePageTableLayout_Client"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="1.0dip"
android:shrinkColumns="0"
android:stretchColumns="0" >
<TableRow
android:id="@+id/more_page_row4"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_itemtop_press"
android:paddingBottom="16.0dip"
android:paddingTop="16.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/setting_mor"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="设置"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
<TableRow
android:id="@+id/more_page_row5"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_itemmiddle_press"
android:paddingBottom="16.0dip"
android:paddingTop="16.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/feed_back"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="意见反馈"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
<TableRow
android:id="@+id/more_page_row6"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_itemmiddle_press"
android:paddingBottom="16.0dip"
android:paddingTop="16.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/moreitems_version"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="检测更新"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
<TableRow
android:id="@+id/more_page_row7"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_itembottom_press"
android:paddingBottom="16.0dip"
android:paddingTop="16.0dip" >
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/about_page_mor"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="关于"
android:textColor="#ff333333"
android:textSize="16.0sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
原文出处:http://www.3lian.com/edu/2012/11-20/44929_1.html