gpt4 book ai didi

java - Android按钮背景颜色改变按钮大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:29 25 4
gpt4 key购买 nike

我正在为我的 Android 应用程序使用内置主题:

<style name="AppTheme" parent="android:Theme.Black">
<!-- Customize your theme here. -->
</style>

我对那个主题很满意,只是我想更改按钮的背景颜色。这是默认情况下的样子:

default

以下是我向此按钮添加背景颜色时发生的情况 (android:background="@color/play_bg"):

enter image description here

嘿!?它基本上改变了所有按钮的大小、填充和边距!

所以我设法使用 backgroundTint 属性(android:backgroundTint="@color/play_bg")获得了预期的结果:

enter image description here

不幸的是,这仅在 API 版本 21 之后才受支持,这对我来说是 Not Acceptable 。

所以两个问题:

  • 为什么更改背景会扰乱按钮的其余属性?
  • 如何在没有 backgroundTint 的情况下获得预期结果?

还有一个额外的问题:如何以编程方式获得预期结果(我的应用程序中有动态按钮,所以这会非常有用)?

最佳答案

您可以在 Java 文件中更改此颜色。当您的主类加载时,您可以获取此按钮的对象,然后更改颜色。

这是在 list 文件中定义此按钮的方式:

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PLAY"
android:id="@+id/btn1"
... />

现在在您的 Java 文件中添加此 XML 布局时您需要

Button b = (Button)findViewByID(R.id.btn1);
b.getBackground().setColorFilter(0xFFFF0000,PorterDuff.Mode.MULTIPLY);

您也可以使用颜色: 红色下面的代码有时对我不起作用:- b.setBackgroundColor(int 颜色)

关于java - Android按钮背景颜色改变按钮大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31008279/

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