android View点击后的波纹效果
2023-07-21 本文已影响0人
wenSome
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_view_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:clickable="true"
android:focusable="true"
android:foreground="?attr/selectableItemBackground"
android:gravity="bottom"
android:orientation="vertical"
android:paddingLeft="@dimen/dp_16"
android:paddingTop="@dimen/dp_36"
android:paddingRight="@dimen/dp_16"
android:paddingBottom="@dimen/dp_10"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
1、android:foreground="?attr/selectableItemBackground"
selectableItemBackground 是一个属性,它会根据当前主题中的样式来设置可选择的视图(如按钮、菜单项)的背景。它为视图添加了点击效果,通常是一个波纹效果。
通过将 android:foreground="?attr/selectableItemBackground" 应用于 LinearLayout,可以为该布局添加可选择的背景,使它在被点击时具有波纹效果。这也使得该布局看起来更像是一个可交互的元素,而不仅仅是一个静态的背景。
2、有些view是自带波纹效果,就像BottomNavigationView。
除了 BottomNavigationView,还有一些其他的 Android 视图和控件也有默认的可选择背景和点击效果。
这些视图和控件包括但不限于:
Button: 按钮在默认情况下具有可选择的背景和点击效果。
RadioButton 和 CheckBox: 单选按钮和复选框在默认情况下具有可选择的背景和点击效果。
ImageButton: 图像按钮在默认情况下具有可选择的背景和点击效果。
ListView 和 RecyclerView 中的列表项: 这些列表项在默认情况下具有可选择的背景和点击效果。
MenuItem: 菜单项在默认情况下具有可选择的背景和点击效果。
3、从 Android 5.0(API 级别 21)引入了可选择的背景和点击效果,通过属性 ?attr/selectableItemBackground 来实现。