我对Android开发很新,我在更改按钮颜色方面遇到了问题。
<Button
android:id="@+id/SignUp"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Sign Up"
android:textColor="#ff0000" />
<Button
android:id="@+id/SignIn"
android:layout_width="0dp"
android:layout_weight="1"
android:background="#00ff00"
android:layout_height="wrap_content"
android:text="Sign In"
android:textColor="#ff0000" />
这是我遇到麻烦的按钮。我改变了背景颜色,但它改变了按钮的大小。
仅供参考,左按钮是我希望我的按钮看起来像,但在更改颜色后,右键是我得到的。
我已经快速寻找一个解决方案,但我发现的只是告诉我要改变我已经完成的背景颜色。
那我怎么能看起来像左键呢?我假设它与drawables有关,但老实说我不知道我在寻找什么。任何向我指明正确方向的指南或任何东西都会很棒。
谢谢!
答案 0 :(得分:2)
最简单的答案,使用backgroundTint
insted background
这段代码可以使用:
<Button
android:id="@+id/SignIn"
android:layout_width="0dp"
android:layout_weight="1"
android:backgroundTint="#00ff00"
android:layout_height="wrap_content"
android:text="Sign In"
android:textColor="#ff0000" />
答案 1 :(得分:1)
背景属性不仅仅是一种颜色。您正在用纯色替换默认图像。选项是制作自己的图像,或调整高度和宽度属性。
https://developer.android.com/guide/topics/ui/controls/button.html#Style
答案 2 :(得分:0)
你可以把你的按钮放到一个方向是水平的LinearLayout视图中,然后设置按钮的权重是1,宽度是0dp,linearLayout的高度是40dp。
答案 3 :(得分:0)
您在这里做的是用纯色替换图像背景。你应该使用样式。
请尝试这种风格
<style name="SpecialButton" parent="Widget.AppCompat.Button.Colored">
<item name="colorButtonNormal">#00ff00</item>
<item name="android:textColorPrimary">#ff0000</item>
</style>
在styles.xml和
中<style name="SpecialButton" parent="Widget.AppCompat.Button.Colored">
<item name="android:colorButtonNormal">#00ff00</item>
<item name="android:textColorPrimary">#ff0000</item>
</style>
在v21 / styles.xml和
中并将此样式应用于按钮。如果这对您有用,请评论,因为我自己没有测试过。