gpt4 book ai didi

Android 背景在按下时呈波纹状,但在选择时呈纯色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:08:40 26 4
gpt4 key购买 nike

我正在尝试创建一个在按下时会出现波纹的可绘制对象,但在调用 view.setSelected(true) 时,它会保持纯色作为背景。

以下文件放在我的 drawable-v21 文件夹中:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<color android:color="@color/green_primary" />
</item>

<item android:state_pressed="true">
<ripple android:color="@color/green_primary">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="@color/green_selected" />
</shape>
</item>
</ripple>
</item>
</selector>

我已经尝试过上述方法,当它被选中时它会保持纯色背景,但没有波纹效果,而只是一种淡入效果。如果我只有没有选择器的涟漪,按下时它会正确地涟漪,但显然我没有 selected 状态。我怎么能将两者都烘焙到单个背景可绘制对象中?

最佳答案

你需要做的是:

1.在 drawable-v21 文件夹中创建一个 ripple_effect.xml 文件

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/green_primary">
<item android:drawable="@drawable/green_primary"/>
</ripple>

2。在drawable文件夹下创建button_selector.xml文件,设置选中状态的颜色。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@color/green_selected"/>
<item android:drawable="@drawable/ripple_effect"/>
</selector>

关于Android 背景在按下时呈波纹状,但在选择时呈纯色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30136678/

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