android 点击效果
时间: 2023-09-13 11:08:04 浏览: 47
Android 点击效果通常可以通过设置 View 的属性来实现。常见的点击效果包括:背景色变化、描边变化、阴影效果、不透明度变化等。
以下是一些实现点击效果的示例:
1. Selector 状态选择器
使用 Selector 状态选择器可以实现在不同的状态下显示不同的效果。可以通过在 drawable 目录下创建 selector 文件来实现。
例如,在 res/drawable 目录下创建一个 selector_mybutton.xml 文件,内容如下:
```xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/mybutton_pressed" android:state_pressed="true" />
<item android:drawable="@drawable/mybutton_focused" android:state_focused="true" />
<item android:drawable="@drawable/mybutton_normal" />
</selector>
```
在布局文件中使用该 selector 文件作为 Button 的背景,例如:
```xml
<Button
android:id="@+id/mybutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector_mybutton"
android:text="My Button" />
```
这样,当按钮被按下或者获得焦点时,就会显示不同的背景。
2. Ripple 涟漪效果
使用 Ripple 涟漪效果可以实现点击时产生类似水波纹的效果。可以通过在 drawable 目录下创建 ripple 文件来实现。
例如,在 res/drawable 目录下创建一个 ripple_mybutton.xml 文件,内容如下:
```xml
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item android:drawable="@drawable/mybutton_normal" />
</ripple>
```
在布局文件中使用该 ripple 文件作为 Button 的背景,例如:
```xml
<Button
android:id="@+id/mybutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ripple_mybutton"
android:text="My Button" />
```
这样,当按钮被点击时,就会产生涟漪效果。
还可以通过设置 View 的 elevation 属性来实现阴影效果,或者通过设置 View 的 alpha 属性来实现不透明度变化效果。