转:Android实现矩形设置菜单
16lz
2022-04-13
最近试着做下图的界面,源码分享,先上图看看效果吧,下面代码为白色区域。
xml Layout
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:id="@+id/all_details"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:text="@string/settings"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="10px" android:id="@+id/settingsText"
android:textSize="20sp" android:textStyle="bold" android:layout_marginBottom="10dip">
</TextView>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagetop"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/firewall_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/firewall_switch" />
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagemid"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/call_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/blockincomingcall"/>
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagebottom"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/sms_checkbox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/showcalllocation"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:id="@+id/all_details"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:text="@string/settings"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="10px" android:id="@+id/settingsText"
android:textSize="20sp" android:textStyle="bold" android:layout_marginBottom="10dip">
</TextView>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagetop"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/firewall_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/firewall_switch" />
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagemid"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/call_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/blockincomingcall"/>
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagebottom"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/sms_checkbox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/showcalllocation"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
imagetop.xml(保存于drawable)
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
<corners android:radius="1dp"
android:bottomRightRadius="0dp"
android:topRightRadius="7dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="7dp"
/>
<!--
<corners android:radius="5dip" />
-->
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
<corners android:radius="1dp"
android:bottomRightRadius="0dp"
android:topRightRadius="7dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="7dp"
/>
<!--
<corners android:radius="5dip" />
-->
</shape>
imagemid.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
</shape>
imagebottom.xml
Java代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
<corners android:radius="1dp"
android:bottomRightRadius="7dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="0dp"
/>
</shape>
转载:http://fonter.iteye.com/blog/676278
xml Layout
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:id="@+id/all_details"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:text="@string/settings"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="10px" android:id="@+id/settingsText"
android:textSize="20sp" android:textStyle="bold" android:layout_marginBottom="10dip">
</TextView>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagetop"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/firewall_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/firewall_switch" />
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagemid"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/call_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/blockincomingcall"/>
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagebottom"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/sms_checkbox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/showcalllocation"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:id="@+id/all_details"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<TextView android:text="@string/settings"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="10px" android:id="@+id/settingsText"
android:textSize="20sp" android:textStyle="bold" android:layout_marginBottom="10dip">
</TextView>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagetop"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/firewall_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/firewall_switch" />
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagemid"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/call_checkBox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/blockincomingcall"/>
</RelativeLayout>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_gravity="center_vertical" android:background="@drawable/imagebottom"
android:layout_marginLeft="10px"
android:layout_marginRight="10px" android:paddingLeft="10px">
<CheckBox android:id="@+id/sms_checkbox" android:layout_width="@android:dimen/app_icon_size"
android:layout_height="@android:dimen/app_icon_size"
android:layout_alignParentRight="true" android:scaleType="fitCenter"
android:layout_gravity="center" />
<TextView android:id="@+id/apps_name" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" android:textSize="18dip"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:paddingTop="10dip" android:paddingRight="6dip"
android:paddingLeft="6dip" android:layout_gravity="center"
android:text="@string/showcalllocation"/>
</RelativeLayout>
</LinearLayout>
</ScrollView>
imagetop.xml(保存于drawable)
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
<corners android:radius="1dp"
android:bottomRightRadius="0dp"
android:topRightRadius="7dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="7dp"
/>
<!--
<corners android:radius="5dip" />
-->
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
<corners android:radius="1dp"
android:bottomRightRadius="0dp"
android:topRightRadius="7dp"
android:bottomLeftRadius="0dp"
android:topLeftRadius="7dp"
/>
<!--
<corners android:radius="5dip" />
-->
</shape>
imagemid.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
</shape>
imagebottom.xml
Java代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" android:centerY="0.75"
/>
<corners android:radius="1dp"
android:bottomRightRadius="7dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="0dp"
/>
</shape>
转载:http://fonter.iteye.com/blog/676278
更多相关文章
- Android(安卓)APK权限提升到System
- Android中WebView和JavaScript通信
- Android(安卓)属性动画 源码解析 深入了解其内部实现
- Android(安卓)10 创建文件失败
- android ctl属性的实现过程
- Android(安卓)自定义 Adapter
- 屏幕锁知识点
- Android(安卓)属性动画 源码解析 深入了解其内部实现
- Android网易有道词典案例源码分享