如何使用按钮的颜色和大小?

时间:2014-06-04 10:37:54

标签: android xml eclipse

如何使用按钮尺寸?例如,这是一个按钮

<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:textSize="12sp"
    android:text="About" />

看起来像这样: http://oi58.tinypic.com/2irayky.jpg

当我把手指放到它上面时,它会变为: http://oi61.tinypic.com/2hzu3if.jpg

如何将按钮/矩形的灰色和橙色更改为#123456?

另一个问题..如何更改矩形高度以使按钮变小?

3 个答案:

答案 0 :(得分:3)

您可以为按钮创建自定义背景。在这个例子中,我们将制作一个渐变。 在res / drawable中,创建一个XML文件btn_blue_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#449def" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
                android:startColor="#449def"
                android:endColor="#2f6699"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#2f6699" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

立即返回到您的按钮,并添加android:background specification。

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="150dp"
    android:gravity="center"
    android:background="@drawable/btn_blue_bg"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:textSize="12sp"
    android:text="About" />

如果需要,您还可以使用width和height属性“播放”。

答案 1 :(得分:0)

我希望我明白你在问什么。

基本上,你将xml放入res / drawable /文件夹,而不是.png。

在此xml中,您可以为不同的状态指定drawable列表。 参见例如https://stackoverflow.com/a/14397453/755804

要使按钮视觉上更小,您可以使用透明色,同时保留相同的png大小。

答案 2 :(得分:0)

您可以创建一个xml来完全个性化您的按钮:为每个州创建一个项目(在这种情况下为 state_pressed = true ),如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#BABABA" />
            <stroke
                android:width="1dp"
                android:color="#ABABAB" />
            <corners
                android:radius="12dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
            <size
                android:width="10dp"
                android:height="10dp"
            />
        </shape>
    </item>
</selector>

然后将此xml添加到按钮背景中。 android:background="@drawable/your.xml" 希望对你有所帮助。