Android按钮的点击效果的总结
2016-09-28 13:11
155 查看
Android按钮的点击效果的总结
在设计程序中,为了能达到按钮的一个动态的效果,要修改按钮的默认外观,
android官方早就替我们想好了解决方案,那就是selector资源。
只需在res/drawable目录中建立这样一个XML文件:selector.xml,并编写文件就可以了。
本文主要对按钮点击前后的效果的设置技巧做介绍。
关于按钮的背景或按钮的边框设置方法,这里不在重复,
上一篇博客有写》http://blog.csdn.net/wenzhi20102321/article/details/52685058
一.通过一个简单的例子展示效果
(一)创建资源文件
如图1:
如图2:
创建成功后可以在drawable-hdpi文件夹下看到到创建成功的资源文件,双击打开资源文件,就可以进行编辑修改。
(二)修改资源文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!--设置按钮点击时,点击后,按钮这2种状态的改变和设置-->
<!--按钮按下时的设置 -->
<item android:state_pressed="true" android:drawable="@drawable/enter"></item>
<!--按钮松开时的设置 -->
<item android:state_pressed="false" android:drawable="@drawable/exit" ></item>
<!--按钮被选中后显示的图片 ,对Android好像并没有什么用!-->
<item android:state_focused="true" android:drawable="@drawable/setting" ></item>
</selector>
上面是几种基本的设置,当然前提是你的drawable-hdpi文件夹下要有图片文件。
或者其他的Drawable资源文件可以使用。
(三)调用文件
文件写好后可以直接当做背景资源利用,如:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector1" //通过文件名直接调用写好的文件资源
android:text="图片按钮" />
按钮按下前效果图:
按钮按下的效果图:
可以看到按钮的文字没有改变,但是按钮的背景被改变了。
总结:其实上面就是把写好的文件资源当做一个背景图片来使用。但是这个背景资源可以动态显示效果。
二.关于selector类型的资源文件的详细知识
(一)相关属性:
android:state_selected 选中
android:state_focused 获得焦点
android:state_pressed 点击
android:state_enabled 设置是否响应事件,指所有事件
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片,这个一般不使用,会影响后面的显示-->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false" android:drawable="@drawable/pic1" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
<!--点击时的图片背景-->
<item android:state_pressed="true" android:drawable="@drawable/select" />
</selector>
但是上面有些属性是会相互冲突的。
有些属性也是没有什么具体效果的。
这些都要通过实际代码运行后看效果再做修改。
这里用处最大的还是按钮按下时和正常情况下的转换设置情况。
创建的按钮默认情况下也是有一个selector选择器,点击按钮后会动态选择系统内的资源文件,显示点击效果。
但是把按钮的背景替换后,系统自带的背景资源文件就起不到只用了。
在设计程序中,为了能达到按钮的一个动态的效果,要修改按钮的默认外观,
android官方早就替我们想好了解决方案,那就是selector资源。
只需在res/drawable目录中建立这样一个XML文件:selector.xml,并编写文件就可以了。
本文主要对按钮点击前后的效果的设置技巧做介绍。
关于按钮的背景或按钮的边框设置方法,这里不在重复,
上一篇博客有写》http://blog.csdn.net/wenzhi20102321/article/details/52685058
一.通过一个简单的例子展示效果
(一)创建资源文件
如图1:
如图2:
创建成功后可以在drawable-hdpi文件夹下看到到创建成功的资源文件,双击打开资源文件,就可以进行编辑修改。
(二)修改资源文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!--设置按钮点击时,点击后,按钮这2种状态的改变和设置-->
<!--按钮按下时的设置 -->
<item android:state_pressed="true" android:drawable="@drawable/enter"></item>
<!--按钮松开时的设置 -->
<item android:state_pressed="false" android:drawable="@drawable/exit" ></item>
<!--按钮被选中后显示的图片 ,对Android好像并没有什么用!-->
<item android:state_focused="true" android:drawable="@drawable/setting" ></item>
</selector>
上面是几种基本的设置,当然前提是你的drawable-hdpi文件夹下要有图片文件。
或者其他的Drawable资源文件可以使用。
(三)调用文件
文件写好后可以直接当做背景资源利用,如:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector1" //通过文件名直接调用写好的文件资源
android:text="图片按钮" />
按钮按下前效果图:
按钮按下的效果图:
可以看到按钮的文字没有改变,但是按钮的背景被改变了。
总结:其实上面就是把写好的文件资源当做一个背景图片来使用。但是这个背景资源可以动态显示效果。
二.关于selector类型的资源文件的详细知识
(一)相关属性:
android:state_selected 选中
android:state_focused 获得焦点
android:state_pressed 点击
android:state_enabled 设置是否响应事件,指所有事件
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片,这个一般不使用,会影响后面的显示-->
<item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->
<item android:state_window_focused="false" android:drawable="@drawable/pic1" />
<!--选中时的图片背景-->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
<!--点击时的图片背景-->
<item android:state_pressed="true" android:drawable="@drawable/select" />
</selector>
但是上面有些属性是会相互冲突的。
有些属性也是没有什么具体效果的。
这些都要通过实际代码运行后看效果再做修改。
这里用处最大的还是按钮按下时和正常情况下的转换设置情况。
创建的按钮默认情况下也是有一个selector选择器,点击按钮后会动态选择系统内的资源文件,显示点击效果。
但是把按钮的背景替换后,系统自带的背景资源文件就起不到只用了。
相关文章推荐
- Android进阶——Material Design新控件之NavigationView
- Android Studio导入第三方类库、jar包和so库
- Android 5.0 新特性 水波纹
- Android dp,px,sp之间的转换
- bitmap的六种压缩方式,Android图片压缩
- ①Android NuPlayer播放框架
- android hook 框架 libinject2 简介、编译、运行
- Android MediaPlayer接口及状态迁移
- listview自带的单选和多选
- android中加载Gif图片
- 环境传感器
- Android studio Error:(1, 1) 错误: 非法字符: '\ufeff'
- Android基本控件
- Android复习强化笔记(二)
- Android自定义控件3--优酷菜单执行动画
- Android 知识点收藏
- android 之横屏模式产生的oncreate 两次调用解决方案
- Android 通过 Intent 传递类对象
- android:TextView相关使用问题
- Android Toolbar