gpt4 book ai didi

android - 如何在保留其他样式属性的同时更改 Android Button 波纹颜色?

转载 作者:搜寻专家 更新时间:2023-11-01 09:42:20 25 4
gpt4 key购买 nike

我想从默认 Material 设计样式继承所有 Button 样式,并保留按下按钮时出现的背景颜色和阴影(所谓的高程)。我唯一想更改的是涟漪效果的颜色(当您触摸按钮然后四处移动手指时)。

如果我使用下面的样式:

<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:buttonStyle">@style/MyTheme.Button</item>
</style>

<style name="MyTheme.Button" parent="Widget.AppCompat.Button.Colored">
<item name="android:background">@drawable/btn_material</item>
</style>

drawable/btn_material 是:

<ripple android:color="#ffff0000">
<item android:id="@android:id/mask"
android:drawable="@android:color/white" />
</ripple>

然后我的按钮失去了它的背景颜色和高程阴影。

有没有办法告诉按钮保留从父级继承的默认颜色和阴影,只用给定的颜色替换波纹颜色?本质上,我想实现类似 android:backgroundRipple 属性的东西,它只会改变波纹,而其他一切都完好无损。

最佳答案

RippleDrawable 波纹= (RippleDrawable)view.getBackground();

int[][] attr= new int[][] { new int[] { android.R.attr.state_enabled} };int[] colors = new int[] { Color.RED };//设置波纹颜色为红色

ColorStateList color = new Color(states, colors);ripple.setColor(颜色);

关于android - 如何在保留其他样式属性的同时更改 Android Button 波纹颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39412615/

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