按钮不显示正确的颜色 - Android Studio
Posted
技术标签:
【中文标题】按钮不显示正确的颜色 - Android Studio【英文标题】:Button Doesn't Show Correct Color - Android Studio 【发布时间】:2020-12-09 02:32:26 【问题描述】:在我的 android Studio 应用程序中,我有一个按钮,我为它设置了一个可绘制对象作为背景。可绘制圆角并更改按钮的颜色。 但是,当我查看活动的最终设计时,我想要的颜色并没有出现。相反,该按钮采用 colorPrimary(橙色,#ED3616)。当我运行应用程序时也会发生同样的情况。 注意:可绘制文件的其他属性完美地转换为按钮(即圆角)。问题只是颜色。
我尝试使用 MaterialButton,并使用 android:backgroundTint 设置颜色。然后,颜色确实显示为我想要的,但设计看起来很奇怪(按钮内部有一个不同颜色的矩形(Picture of MaterialButton if you'd like to see it)
如何使常规按钮具有我想要的颜色?
按钮:
<Button
android:background="@drawable/round2"
android:id="@+id/signIn"
android:layout_
android:layout_
android:text="@string/logIn"
android:textColor="#FFFFFF"
android:textSize="25sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.496"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.878" />
可绘制:round2.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="#B30C44"
android:paddingLeft="6dp"
android:paddingTop="6dp" />
<corners
android:bottomRightRadius="20dp"
android:bottomLeftRadius="20dp"
android:topLeftRadius="20dp"
android:topRightRadius="20dp"/>
<padding
android:bottom="6dp"
android:left="6dp"
android:right="6dp"
android:top="6dp" />
</shape>
显示的内容: What the Button looks like
【问题讨论】:
我试过你的代码,它给了我一个你想要的颜色的按钮(如第一张图片),但里面没有彩色矩形。你想要里面的矩形吗? @KKKKK,我想要里面没有矩形。我之所以如此困惑,是因为我的任何其他项目都没有出现这个问题;它只发生在这个 android 项目中。无论如何,感谢您的尝试! 如果你想改变按钮的颜色,你必须改变 round2.xml 文件中的颜色,idk 你的代码在我的 android studio 和设备上运行良好:( 尝试在 colors.xml 文件上设置颜色并在需要的地方调用它 我只是在 colors.xml 文件上设置了颜色,并在我的 round2.xml 文件中调用了它。但是,问题仍然存在 【参考方案1】:这是因为MaterialButton
的默认样式(如果您使用的是MaterialComponents
主题,Button
会自动替换为MaterialButton
)tints the background 与colorPrimary
。
你必须使用:
<Button
android:background="@drawable/round2"
app:backgroundTint="@null"
... />
【讨论】:
以上是关于按钮不显示正确的颜色 - Android Studio的主要内容,如果未能解决你的问题,请参考以下文章
给定按钮颜色未显示但在 android studio 中的颜色文件中显示颜色