gpt4 book ai didi

Android 按钮使用相同的 Drawable 形状但使用不同的颜色

转载 作者:太空狗 更新时间:2023-10-29 12:39:14 27 4
gpt4 key购买 nike

在我的应用程序中,我使用了很多按钮。并且所有按钮必须形状相同但颜色不同。我为每个具有相同功能但不同纯色 android:color 的按钮编写了可绘制对象。这让更多我的应用程序中有超过 20 个可绘制的 xml。我怎样才能对所有按钮使用相同的可绘制对象,但应该能够设置不同的背景颜色。我试过如下,但没有成功。
1.在attrs.xml中

  1. 在 drawable 文件夹中为矩形创建了 buttonshape.xml


  2. 在 styles.xml 中 @drawable/按钮形状
    @颜色/我的颜色

  3. 在 Colors.xml 中#000000

最后在我的 Activity xml 中,我将按钮的主题设置为

<Button android:id="@+id/btnTest" 
android:theme="@style/TestTheme" android:text="Test" />

这对我不起作用。你们中的任何人都可以帮我解决这个问题吗?我是android开发的新手。我无法弄清楚我哪里出错了。任何帮助将非常感激。谢谢,罗杰

最佳答案

使用这个:GradientDrawable bgShape = (GradientDrawable)view.getBackground().getCurrent(); bgShape.setColor(Color.BLACK);

如果您想为任何 View 设置不同的颜色,只需使用此代码即可。

.getCurrent 给出选中的drawable layerlist

使用它不会抛出 java.lang.ClassCastException: android.graphics.drawable.GradientDrawable cannot be cast to android.graphics.drawable.ShapeDrawable 异常。

它非常适合我。

关于Android 按钮使用相同的 Drawable 形状但使用不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28876476/

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