android LinearLayout等view如何获取button效果

时间:2023-03-09 00:23:59
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>