最近试着做下图的界面,源码分享,先上图看看效果吧,下面代码为白色区域。
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
- 大小: 23 KB
分享到:
相关推荐
综合以上信息,实现“带箭头的圆角矩形菜单”涉及Android自定义视图、图形绘制、菜单系统、Gradle构建流程等多个方面。开发者需要具备扎实的Android基础,了解自定义ViewGroup的原理,以及熟悉图形编程和UI设计原则...
本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: 要求顶上的箭头要对准菜单锚点,菜单项按压反色,菜单背景色和按压色可配置。 最简单的做法就是让UX给个三角形的图片往上一贴,但是转念一想...
菜单图标在Android中通常用于表示各种功能或操作,比如设置、分享、刷新等。这些图标通常会出现在应用程序的顶部或底部导航栏,或者在溢出菜单(Overflow Menu)中,用户可以通过点击汉堡菜单(Hamburger Icon)来...
这里的`android:text`属性设置按钮上显示的文本,`android:layout_width`和`android:layout_height`定义按钮的尺寸。默认情况下,按钮的样式由系统的主题决定,但我们可以自定义样式以满足特定需求。 在`Android`中...
在Android平台上,开发一款应用程序以实现通过相机预览来捕捉并标定人脸是一项常见的任务。这个项目名为"Android通过相机预览使用原生接口捕捉人脸并取框",使用了Android Studio作为集成开发环境(IDE),并且直接...
在"仿QQ5.0左侧菜单"这个项目中,我们可以预期它实现了QQ5.0版本的侧拉菜单效果,可能包括当时的特色设计元素,如渐变色、圆角矩形等。开发者可能已经优化了菜单的滑动逻辑,使其在滑动速度、流畅度和动画效果上更...
在Android平台上开发游戏时,创建吸引人的主菜单和有效的进度条加载是提升用户体验的关键环节。本文将深入探讨如何实现这两个功能。 首先,我们来看“Android 绘制游戏主菜单”。在Android应用中,主菜单通常作为...
这个开源项目提供了一种实现方式,允许开发者在Android应用中创建此类动态效果的菜单。 首先,我们来解析这个开源代码的核心概念。Path按钮菜单,顾名思义,是基于Path类的,Path是Android图形库中的一个关键元素,...
1. **圆形菜单**:圆形菜单是一种非传统的UI设计,它打破了常规的矩形或线性菜单样式,以一个中心点为轴心,将各个菜单项围绕这个中心点均匀分布。这种设计不仅视觉效果独特,还可以节省屏幕空间,尤其适合触摸设备...
在本文中,我们将深入探讨如何基于QT框架,利用QML技术来实现一个弹出右侧菜单的弹窗。QML(Qt Meta Language)是QT库的一部分,它提供了一种声明式语言,用于创建丰富的用户界面。QML的强大之处在于它的灵活性和...
- 背景资源:可以使用`android:background`属性设置自定义背景图,或者通过XML定义形状(如矩形、圆角矩形等)来改变Spinner的外观。 - 使用`<shape>`标签定义一个Drawable,设置颜色、边框宽度和边框颜色,以创建...
本话题主要关注如何在MTK6515/6575/6626平台上实现一个仿Android 4.0的LauncherPlus,特别是列表选项菜单和主菜单的tab式实现。 首先,我们要理解`LauncherPlus`在Android中的角色。`Launcher`是Android系统的桌面...
在这个特定的案例中,我们将探讨如何在Android中实现一个高度可定制的小红点组件,它支持圆、矩形、椭圆、圆角矩形和正方形等多种形状,并且允许进行链式操作来简化代码。 首先,我们看到两个关键的Java文件:`...
- **菜单和选择处理器**:实现游戏中的菜单系统。 - **按键和触控事件处理器**:响应用户的输入操作。 - **本地回调处理器**:处理Java与本地代码之间的通信。 - **导航控件**:实现游戏中的导航功能。 ##### 7.5 ...
`beyole_android_SettingMenus`项目就是这样一个实例,它展示了如何在Android中实现一个带有圆角界面的设置菜单。这个项目的核心在于利用Java语言和Android SDK中的组件及属性来构造出具有圆角效果的UI。 1. **圆角...
实现这一功能涉及到对Android系统的理解、View的层级结构以及图像处理技术。以下是对该主题的详细阐述: 一、Android截图基础 1. 获取全局屏幕截图:在Android中,我们可以利用`WindowManager`获取到设备的根视图...
这个Android应用Demo主要展示了在移动平台上进行图形绘制的能力,包括涂鸦、画矩形和圆形。这是一款非常适合初学者和毕业设计项目的实例,因为它涵盖了基本的Android编程概念以及图形用户界面(GUI)的设计。以下是...
它展示了Android平台上的基本图形绘制功能,包括如何在屏幕上画出矩形和圆形,以及可能实现的涂鸦功能。下面将详细探讨这个Demo中涉及的Android编程知识点。 1. **Android SDK和环境搭建**:首先,你需要安装...
在Android开发中,图形绘制是构建用户界面和实现复杂视觉效果的重要部分。本文将深入探讨Android的绘图机制,以及一些实用的处理技巧,主要涉及Shape、Layer、Selector、Canvas和Layer图层等方面。 首先,Shape是...