当前位置: 首页 > 知识库问答 >
问题:

如何在保留其他样式属性的同时改变Android按钮波纹颜色?

孟晨朗
2023-03-14
<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>
<ripple android:color="#ffff0000">
  <item android:id="@android:id/mask"
     android:drawable="@android:color/white" />
</ripple>

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

有没有办法告诉按钮保持默认的颜色和阴影从父级继承,只替换涟漪颜色给出的一个?从本质上说,我希望实现类似android:backgroundripple属性的功能,它只改变涟漪,而不改变其他内容。

共有1个答案

易京
2023-03-14

RippleDrawable RIPPLE=(RippleDrawable)view.getBackground();

int[][]attr=new int[][]{new int[]{android.r.attr.state_enabled}};int[]colors=new int[]{color.red};//将纹波颜色设置为红色

ColorStateList color=新颜色(状态、颜色);Ripple.setColor(颜色);

 类似资料:
  • 所以我有这些按钮(3叠6个,18个),我想实现的是当我按下其中一个按钮时: > 边框颜色 其他按钮将重置为其正常样式 但是我不想通过“isEnable”技巧禁用其他的(我只在这里找到了涉及isEnable的解决方案),我仍然希望它们被启用,我只是希望它们不要在按下时被我的自定义样式“突出显示”。 对于第一部分,也就是我在IBAction中所做的造型: 这一小部分只是一个按钮,但我想如果我有18个按

  • 在我的程序中,我有两个按钮:第一个改变框架背景,第二个改变按钮背景(只为自己)。重点是程序应该为程序中的每个按钮改变按钮背景(不仅仅是为它自己)。我应该怎么重写对话框?

  • 我正在尝试在styles.xml中默认应用按钮文本颜色 如何使样式更改按钮的颜色,并在整个应用程序中应用?我的主要节日包括: 这将更改所有文本(如TextView),但不会更改按钮中的文本。如果我使用上面的ColorThemes样式,并将其放在按钮的xml中,如下所示: 那它就完美地工作了。为什么由于风格的原因,这并不普遍适用?所有不同版本的styles.xml都有相同的代码。

  • '导出默认函数 评级(道具){ 常量 [悬停,setHover] =使用状态(假); // 检查悬停状态常量 [com, setCom] = use 状态(假); //检查点击状态 }'我有五个评级按钮,我想在单击另一个按钮时取消单击已单击的按钮。通过点击我的意思是,当我点击其中一个按钮时,他们的样式主要改变为背景颜色,现在我希望当有人按下另一个评级时,我希望以前点击的按钮的样式恢复正常,新按下的

  • 问题内容: 我需要更改悬停按钮的颜色。 这是我的解决方案,但是不起作用。 问题答案: 表示“正在悬停的链接是该类链接的子链接”。 代替。

  • 我想知道如何在android中更改单选按钮的圆圈和边框的颜色。请帮我试了两天。