在Android中单击按钮时显示触摸高亮的便捷方式

时间:2015-01-30 12:32:27

标签: android button

在iOS中,一个代码行足以让按钮显示触摸高亮显示:yourButton.showsTouchWhenHighlighted = YES;

在Android中,可以使用选择器。但是,这很乏味。例如,如果我的应用中有100个按钮图标,我必须准备至少200个按钮图标:100表示​​正常,100表示​​突出显示。

有没有方便/简单的方法呢?

2 个答案:

答案 0 :(得分:0)

您可以尝试Ripple Effect来显示触控效果

答案 1 :(得分:0)

创建一个单一的选择器,并将其用作所有视图的背景(不需要单独为每个按钮创建,您可以普遍应用相同的选项)。

<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:color="#000000" /> <!-- pressed -->
     <item android:state_focused="true"
           android:color="#000000" /> <!-- focused -->
     <item android:color="#FFFFFF" /> <!-- default -->
 </selector>

这可以普遍适用于所有按钮,如下所示:

<Button
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@color/button_selector" />

有一个新的Ripple响应,但这适用于Android 5.0设备加上(可能在GitHub上有第三方库,允许它在早期操作系统上运行)