2

我想在屏幕顶部创建四个自定义按钮(在 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 ... ) 颜色。在对该站点进行大量研究之后,我认为提出一个问题会更好。

你们中的任何一个极客都可以指向链接或者请帮助我一些代码,如何实现上述要求。

请注意:我不需要按钮的三种状态,即按下、聚焦、禁用。我已经有四个方形按钮。现在我想将它们创建为圆角矩形以使其看起来很有吸引力。至于这种情况,我无法在可绘制文件夹中为 4 个按钮创建 4 个自定义文件。因为将来我的要求可能会扩展到大约 8-10 个按钮甚至更多。*

谢谢你。

4

1 回答 1

1

您需要使用项目标签。这是一个包含按钮状态、纯色和渐变色、笔触、填充和角半径的示例。您需要将其放入选择器标签中。

<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>

于 2013-04-16T14:11:40.720 回答