java - 以编程方式更改自定义按钮形状的颜色

标签 java android button themes

我有一个自定义按钮形状,用于所有按钮。我现在正在尝试实现主题,但我可以弄清楚如何自动更改按钮的“纯色”颜色而不摆脱我的自定义形状。谁能告诉我该怎么做?我尝试更改按钮的背景颜色,但没有看到任何变化;不知道为什么。

这是我的自定义按钮形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
    android:radius="14dp"
    />
<solid
    android:color="#D1D1D1"
    />
<size
    android:width="177dp"
    android:height="60dp"
    />
<stroke
    android:width="7dp"
    android:color="#FFFFFF"
    />
</shape>

最佳答案

我认为你应该为 xml 文件分配一个 id

然后你只需通过findViewById来识别按钮

如果您使用多个主题,您可以使用大小写切换功能

Button button= (Button)findViewById(R.id.yourbutton)

button.setBackgroundColor(getResources().getColor(R.color.whatevercolor));   //or even better button.setBackgroundColor(0xFFFFFF);

关于java - 以编程方式更改自定义按钮形状的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39058790/

相关文章:

java - GraphStream 编辑节点属性并在 GUI 中显示它们

android - 错误 : Final local variable score cannot be assigned, 因为它是在封闭类型中定义的?

android - 使用 CursorLoader 获取邮件导致邮件重复

Android - 使用背景图像缩放按钮

button - PayPal 返回 URL 无效

android - 触摸时按钮透明度

java - Jackson:为 Xml 和 JSON 格式配置实体

java - Lambda 表达式对象映射问题

java - Android:BluetoothSocket 接收自己的输出

android - FBSDK 共享在 react-native 应用程序中不起作用。仅在某些安卓设备上