Android按钮的点击效果的总结

    xiaoxiao2023-03-25  5

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

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

     

     

     

     

     

    转载请注明原文地址: https://ju.6miu.com/read-1203983.html
    最新回复(0)