在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"