出身背景

在Android的拨号应用上,当你开始搜索某个东西时,点击EditText左边的箭头按钮,你会得到一个圆形的涟漪效果:

enter image description here

问题

我也试过,但我有一个长方形的:

    <ImageButton
        android:id="@+id/navButton"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="8dp"
        android:background="?android:attr/selectableItem出身背景"
        android:src="@drawable/search_ic_back_arrow"/>

问题是

如何使按钮在被单击时产生圆形涟漪效果?我必须创建一个新的抽屉,还是有内置的方法可以做到这一点?

推荐答案

如果您已经有了背景图像,下面是一个看起来接近SelectableItemBackgroundless的涟漪示例:

            <ImageButton
                android:id="@+id/btn_show_filter_dialog"
                android:layout_width="24dp"
                android:layout_height="24dp"
                android:background="@drawable/ic_filter_state"/>

ic_过滤器_状态.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true"
        android:state_enabled="true"
        android:drawable="@drawable/state_pressed_ripple"/>
    <item
        android:state_enabled="true"
        android:drawable="@drawable/ic_filter" />
</selector>

州政府压制了涟漪.xml:(白色背景上的不透明度设置为10%)1afffff

 <?xml version="1.0" encoding="UTF-8"?>    
    <ripple xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="oval">
                <solid android:color="#1AFFFFFF"/>
            </shape>
            <color android:color="#FFF"/>
        </item>
    </ripple>

Android相关问答推荐

带有kSP而不是kapt的Hilt

如何在Jetpack Compose中使用Box Composable来实现这种布局?

如何将Unicode符号作为文本居中放置在布局中的按钮(Android XML)中?

在Jetpack Compose中实现焦点突出的最佳方式?

触发PurchasesUpdatedListener回调时,billingClient.launchBillingFlow之前设置的成员变量丢失

如何制作安卓';s FileProvider在Android 11上使用外部存储+

使用lazyColumn迁移paging3的旧代码

如何禁用自动登录 google play games services android unity?

Jetpack Compose的val变量不能被重新分配

[Android][Room] 将密封类存储到 Room 数据库中

从 Jetpack Compose 中的 IconButton 中删除黑色色调

Jetpack Compose Alignment - 误解了 alignBy 修饰符

Hilt 依赖注入重复绑定错误

如何在 MAUI 项目中包含每个平台的现有 C++ 库?

如何将文本组合放在行中,一个具有可变宽度的组合

Android Studio:如何添加应用程序质量洞察窗口以查看 Android Studio 中的 Crashlytics 数据?

线圈单元测试 - 如何做到这一点?

操作系统会终止已启动的服务并调用Service.onDestroy吗?

将生成的 AAR 与 Composables 一起使用时未解决的参考

compose :为什么以记住启动的列表触发方式与快照不同