我想在屏幕顶部创建四个自定义按钮(在 iOS 中为 Roundedrects)。
使用带有形状标签的自定义 xml,我可以得到它。
自定义.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#F9FAFC" />
<corners android:radius = "20dp"/>
</shape>
我将其用作:
android:background = "@drawable/custom"
但我只获得了所有按钮的自定义 xml 中设置的颜色(灰色),这是不应该的。
我想为那个自定义按钮设置不同的 Hexa(#FF0000 ... ) 颜色。在这个网站上进行了大量研究之后,我认为提出一个问题会更好。
你们中的任何极客都可以指向链接或者请帮助我一些代码,如何实现上述要求。
请注意:我不需要按钮的三种状态:按下、聚焦、禁用。我已经有四个方形按钮。现在我想将它们创建为 Rounded Rect 形状以使其看起来很有吸引力。至于我无法在 drawable 文件夹中为 4 个按钮创建 4 个 CUSTOM 文件。因为将来我的要求可能会扩展到大约 8-10 个按钮甚至更多。*
谢谢。
最佳答案
你需要使用元素标签。这是一个包含按钮状态、纯色和渐变色、描边、填充和圆角半径的示例。您需要将其放入选择器标签中。
<item android:state_enabled="false" >
<shape>
<solid
android:color="#474141" />
<stroke
android:width="1dp"
android:color="#474141" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_pressed="true" >
<shape>
<solid
android:color="#f3ae1b" />
<stroke
android:width="1dp"
android:color="#f3ae1b" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#990000"
android:endColor="#990000"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#990000" />
<corners
android:radius="4dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
关于android - 具有背景颜色的自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039202/