android LinearLayout等view如何获取button效果

我们可以给LinearLayout以及一切继承自View的控件,设置View.onClickListener监听,例如LInearLayout。

但是我们发现LinearLayout可以执行监听方法体,但是没有点击效果。

所谓的点击效果就是当我们用鼠标点击控件时,可以高亮或者动一下,给用户一个操作反馈。

如何给LinearLayout实现上述效果那,最简单的就是给LinearLayout配置上以下属性

style="?android:attr/actionButtonStyle"


那么我们的按钮就具有了Button的样式效果。点击等操作和Button一样。

另外:我们也可以配置一个文件,在文件内配置上点击时图片效果,按下时图片效果等,例如:

<selector xmlns:android="http://schemas.android.com/apk/res/android"                                                                      |~                             
          android:exitFadeDuration="@android:integer/config_mediumAnimTime">                                                              |~                             
                                                                                                                                          |~                             
    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of      |~                             
pressed state. -->                                                                                                                        |~                             
    <item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/           |~                             
list_selector_disabled_holo_dark" />                                                                                                      |~                             
    <item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/           |~                             
list_selector_disabled_holo_dark" />                                                                                                      |~                             
    <item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/           |~                             
list_selector_background_transition_holo_dark" />                                                                                         |~                             
    <item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/           |~                             
list_selector_background_transition_holo_dark" />                                                                                         |~                             
    <item android:state_focused="true"                                                             android:drawable="@drawable/           |~                             
list_focused_holo" />                                                                                                                     |~                             
    <item                                                                                          android:drawable="@color/transparent" /|~                             
>                                                                                                                                         |~                             
</selector>


原文地址:https://www.cnblogs.com/dyllove98/p/3174579.html