Android按钮的点击效果的总结

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选择器,点击按钮后会动态选择系统内的资源文件,显示点击效果。

但是把按钮的背景替换后,系统自带的背景资源文件就起不到只用了。

 

 

 

 

 

  • 10
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峥嵘life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值