android - 四个圆角不同颜色的按钮

标签 android xml button

我在这里看到了一些关于圆角和彩色背景的东西,但没有一个完全适合我的需要。

我见过的制作圆角按钮(有效)的方法是在可绘制文件夹中创建一个 xml 文件,然后放置类似的内容。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
  <solid android:color="@color/Blue"/>
  <corners
   android:bottomRightRadius="10dp"
   android:bottomLeftRadius="10dp"
   android:topLeftRadius="10dp"
   android:topRightRadius="10dp"/>  
</shape>

这太棒了,只需一个按钮。有没有一种方法可以将四种颜色合并到一个 xml 文件中,这样我就不必制作四种单独的颜色?我希望它们都像这个蓝色按钮一样具有 10dp 半径,但每个都有自己各自的颜色。

我要问的是,我可以获得圆角边缘的唯一方法是在我的主 xml 文件中说 android:background="@drawable/round 如果我可以说那就没问题了然后 android:background="@color/Blue" 但由于我无法调用 android:background 我必须在这个可绘制的 xml 文件中命名颜色。所以现在我不知道如何在这个 round.xml 文件中动态更改颜色 问候。

最佳答案

您可以定义一个 xml 并通过以下方式动态更改按钮颜色:

    GradientDrawable sd = (GradientDrawable) button1.getBackground();
    sd.setColor(Color.BLUE);

            GradientDrawable sd1 = (GradientDrawable) button2.getBackground();
    sd1.setColor(Color.RED);

关于android - 四个圆角不同颜色的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21326460/

相关文章:

python - Python 的 Tkinter 可以在按钮小部件中同时显示文本和图像吗?

android设计库工具栏阴影

java - Android 中完全控制的线程队列

c# - XML 序列化 - 处理特殊情况

xml - Android无权读取content://media/external/audio/media

apache-flex - 弹性 4 : Is there a simple way to extend Spark button?

android - SM-G950F(Samsung s8) 运行 OneoffTask 的问题

java - Spring - 将图像作为字节数组存储在数据库中并检索它们

xml - Eclipse 如何在 XML 目录中生成插件指定条目?

swift - 如何使用随机变量快速选择正确的按钮