gpt4 book ai didi

java - 更改样式仅部分有效 : text color changes, 背景无效

转载 作者:行者123 更新时间:2023-12-01 14:36:20 24 4
gpt4 key购买 nike

我试图在有人单击按钮时更改按钮的样式。我想更改背景和文本颜色。但是,仅更改了文本颜色。由此我得出结论,样式已更改,但由于某种原因背景无法被覆盖。

我在 onClick 处理程序中使用此代码:

Button send_button = (Button) findViewById(R.id.button1);
send_button.setTextAppearance(context, R.style.activeButtonTheme);

我的 styles.xml 中的相关样式是:

<style name="buttonTheme">
<item name="android:background">@color/white</item>
<item name="android:textColor">@color/orange</item>
<item name="android:paddingTop">6dp</item>
<item name="android:paddingBottom">6dp</item>
<item name="android:layout_margin">2dp</item>
</style>

<style name="activeButtonTheme" parent="@style/buttonTheme">
<item name="android:background">@color/orange</item>
<item name="android:textColor">@color/white</item>
</style>

这里有什么问题吗?

我不想从 Java 设置背景颜色,我只想更改 Java 中的样式。

最佳答案

为此目的使用选择器。检查this link有关详细信息(自定义背景部分)关于您的代码,请在资源目录中定义适当的selector.xml文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/drawable_for_dissabled_button" android:state_enabled="false"/>
<item android:drawable="@drawable/drawable_for_pressed_button" android:state_enabled="true" android:state_pressed="true"/>
<item android:drawable="@drawable/drawable_for_enabled_button" android:state_enabled="true" android:state_focused="true"/>
<item android:drawable="@drawable/drawable_for_enabled_button" android:state_enabled="true"/>
</selector>

将刚刚创建的选择器分配给布局文件中的按钮:

<Button android:id="@+id/your_button_id"
android:background="@drawable/selector" />

关于java - 更改样式仅部分有效 : text color changes, 背景无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16458113/

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