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

在Android中单击按钮时显示触摸高光的便捷方式,android,button,Android,Button,在iOS中,一行代码足以让按钮显示触摸高亮显示:yourButton.showsTouchWhenHighlighted=YES 在Android中,可以使用选择器。然而,这是相当乏味的。例如,如果我的应用程序中有100个按钮图标,我必须准备至少200个按钮图标:100个用于正常,100个用于突出显示 有什么方便/更简单的方法可以做到这一点吗?您可以尝试显示触摸效果创建一个选择器,并将其用作所有视图的背景,不需要为每个按钮单独创建,您可以普遍应用相同的选择器 <?xml version="

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

在Android中,可以使用选择器。然而,这是相当乏味的。例如,如果我的应用程序中有100个按钮图标,我必须准备至少200个按钮图标:100个用于正常,100个用于突出显示


有什么方便/更简单的方法可以做到这一点吗?

您可以尝试显示触摸效果

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

<?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上可能有一个第三方库,允许它在早期的操作系统上工作