Android中设计开关效果的UI

最终效果如下:

具体来说就是实现了checkbox自定义选中和为选择样式,菜单项根据不同位置设置不同背景.

先上整体布局文件代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#DFE1E0"
android:orientation="vertical">
    <LinearLayout        style="@style/SettingItemTop"
        android:background="@drawable/setting_list_top"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:orientation="horizontal">
         <TextView
            style="@style/MySettingText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="开启通知"             />
        <CheckBox
             style="@style/MyCheckBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
        <LinearLayout
        style="@style/SettingItemMiddle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:orientation="horizontal">
        <TextView
            style="@style/MySettingText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="开启铃声"             />
        <CheckBox
            style="@style/MyCheckBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
        <LinearLayout
        style="@style/SettingItemBottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         android:orientation="horizontal">
         <TextView
            style="@style/MySettingText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="开启震动"             />
        <CheckBox
             style="@style/MyCheckBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
</LinearLayout>

注意到:

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/

style="@style/MySettingText"

这一句,这里用了style.xml这个文件来控制样式.Android实际开发中,会有很多时候一些部件的属性是要重复出现的,如果每个控件都要单独的 把这些属性单独的输入一次,那样会很没有效率.可以将重复的代码添加到style.xml中,设置成一种样式,在用到这些属性是引用这个样式即 可.style="@style/MySettingText"这个是设置文字的属性,代码如下:

<style name="MySettingText">
        <item name="android:layout_margin">10dp</item>
        <item name="android:layout_weight">6</item>
</style>

这里仅用了两个属性.开发中可以根据实际需要自行修改.以后每个设置项的文字不需要再把这些属性再添加一边,引用一下这个style即可.

CheckBox样式自定义用到了selector.

style="@style/MyCheckBox"

此句对应的代码:

<style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
        <item name="android:button">@drawable/check</item>
        <item name="android:layout_margin">10dp</item>
        <item name="android:layout_weight">1</item>
</style>

注意到此句:

<item name="android:button">@drawable/check</item>

这里就用了selector自定义样式.

在res/drawable下建立一名为check(自定)的xml文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_checked="true" android:drawable="@drawable/on" />
  <item android:state_checked="false" android:drawable="@drawable/off" />
</selector>

其中

@drawable/on为选择时checkbox的图像,@drawable/off反之.

还注意到菜单中第一项上方为圆角,中间项为四角都为方,最后一项为下部圆角,这个就是通过设置不同的背景图片实现的了,具体不细表.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索圆角
, 样式
, 代码
, 属性
, drawable
, android 样式
, style
, 样式控件android
, 自定义开关
, Style.xml
, Style.xml应用
, Style.xml实例应用
, android自定义样式
Android圆角效果
android ui效果、android ui效果大全、android ui界面设计、android ui设计规范、android ui设计工具,以便于您获取更多的相关知识。

时间: 2024-12-30 16:27:17

Android中设计开关效果的UI的相关文章

Android编程实现可滑动的开关效果(附demo源码下载)_Android

本文实例讲述了Android编程实现可滑动的开关效果.分享给大家供大家参考,具体如下: 闲着没事,把之前写的一个Demo放上来分享下.就是一个开关,实现可滑动和动画效果.不是图片切换. 好了,先上图: 完整实例代码点击此处本站下载. 直接把自定义的这个View代码放上来,有注释应该很好理解: 首先是布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&qu

Android编程实现可滑动的开关效果(附demo源码下载)

本文实例讲述了Android编程实现可滑动的开关效果.分享给大家供大家参考,具体如下: 闲着没事,把之前写的一个Demo放上来分享下.就是一个开关,实现可滑动和动画效果.不是图片切换. 好了,先上图: 完整实例代码点击此处本站下载. 直接把自定义的这个View代码放上来,有注释应该很好理解: 首先是布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&qu

Android闪屏效果实现方法_Android

本文实例讲述了Android闪屏效果实现方法.分享给大家供大家参考,具体如下: 闪屏,就是SplashScreen,也可以说是启动画面,就是启动的时候,闪(展示)一下,持续数秒后,自动关闭. android的实现非常简单,使用Handler对象的postDelayed方法就可以实现.在这个方法里传递一个Runnable对象和一个延迟的时间.该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒.第一个参数是Runnable对象,里面包含了延迟后需要执行的操作.demo代码如下:

Android闪屏效果实现方法

本文实例讲述了Android闪屏效果实现方法.分享给大家供大家参考,具体如下: 闪屏,就是SplashScreen,也可以说是启动画面,就是启动的时候,闪(展示)一下,持续数秒后,自动关闭. android的实现非常简单,使用Handler对象的postDelayed方法就可以实现.在这个方法里传递一个Runnable对象和一个延迟的时间.该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒.第一个参数是Runnable对象,里面包含了延迟后需要执行的操作.demo代码如下:

android 2种效果求实现方法。。。有截图。。。

问题描述 android 2种效果求实现方法...有截图... ** 可以左右滑动,里面是文字,还可以上下滑动文字...我只做过图片的... ** ----------------------分割线----------------------------- 注意看图片边角(小半圆)...是怎么实现的,我已经确认过了图片是方形的,应该是覆盖了... 我不知道怎么覆盖的... 解决方案 android-support-v4.jar中的viewpager,里面是scrollview.覆盖,用relat

android 下载 跨界面更新UI

问题描述 android 下载 跨界面更新UI 项目遇到问题,在一个activity中点击下载一堆文件,然后需要在另一个activity中的fragment中的listview中更新正在下载的item的进度. 我是使用广播加异步更新.但总觉得效率有点慢.有更好的方法吗?

Android编程滑动效果之倒影效果实现方法(附demo源码下载)_Android

本文实例讲述了Android编程滑动效果之倒影效果实现方法.分享给大家供大家参考,具体如下: 前面介绍了使用<Android编程实现3D滑动旋转效果的方法>,现在介绍图片倒影实现,先看效果图 这里主要通过自定义Gallery和ImageAdapter(继承自BaseAdapter)实现 1.倒影绘制 ImageAdapter继承自BaseAdapter,详细实现可见前面关于Android Gallery的用法.这里重点介绍倒影原理及实现 倒影原理: 倒影效果是主要由原图+间距+倒影三部分组成,

Android编程滑动效果之Gallery+GridView实现图片预览功能(附demo源码下载)_Android

本文实例讲述了Android编程滑动效果之Gallery+GridView实现图片预览功能.分享给大家供大家参考,具体如下: Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现Gallery浏览图片效果. 本示例通过GridView和Gallery两个控件,模仿实现一个完整的仿Gallery图像集的图片浏览效果.效果图如下: 1.GridView 首先,自定义一个GridImageAdapter图片适配器

Android编程滑动效果之Gallery仿图像集浏览实现方法_Android

本文实例讲述了Android编程滑动效果之Gallery仿图像集浏览实现方法.分享给大家供大家参考,具体如下: Android系统自带一个Gallery浏览图片的应用,通过手指拖动时能够非常流畅的显示图片,用户交互和体验都很好. 本示例就是通过Gallery和自定义的View,模仿实现一个仿Gallery图像集的图片浏览效果.效果图如下: 1.基本原理 在 Activity 中实现 OnGestureListener 的接口 onFling() 手势事件,通过自定义的 View 绘制draw()