gpt4 book ai didi

android - 选择器内部的涟漪效应

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:30 25 4
gpt4 key购买 nike

我想在有人按下我的 ImageView 时实现涟漪效果,但也有针对其他状态的不同绘图。

我有一个非常简单的 ImageView:

<ImageView
android:id="@+id/image"
android:layout_width="120dp"
android:layout_height="120dp"
android:clickable="true"
/>

我给它添加了我的背景:

mImage.setBackgroundResource(R.drawable.background_resource);

我的可绘制对象看起来像这样:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false">
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@android:color/darker_gray"/>

<size
android:width="80dp"
android:height="80dp"/>
</shape>
</item>
<item android:state_selected="true" android:state_pressed="false">
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">

<solid
android:color="@android:color/holo_blue_bright"/>

<size
android:width="120dp"
android:height="120dp"/>
</shape>
</item>
<item android:state_pressed="true">
<ripple android:color="@android:color/holo_blue_dark">
<item android:id="@android:id/mask">
<shape android:shape="oval">

<solid android:color="@android:color/holo_blue_dark"/>

<size
android:width="120dp"
android:height="120dp"/>
</shape>
</item>
</ripple>
</item>
</selector>

当我点击时,背景消失而不是显示波纹效果。其他州工作正常。知道我在这里做错了什么吗?

最佳答案

事实证明你用了另一种方式,为了让波纹出现,你需要在波纹可绘制对象中包含选择器

即 xml 应该看起来像

<ripple android:color="@color/ripple_color">
<item android:id="@android:id/mask">
<!-- ripple mask goes here -->
</item>
<item>
<selector>
<!-- your selector goes here -->
</selector>
</item>
</ripple>

HTH.

关于android - 选择器内部的涟漪效应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28844106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com