Android半径按钮

时间:2013-07-17 23:32:50

标签: java android xml button

我有一个像这样的按钮

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_centerInParent="true"
    android:text="ButtonText"
    style="@style/ButtonText"/>

和这种风格

<style name="ButtonText">
    <item name="android:layout_margin">3dp</item>
    <item name="android:textSize">20sp</item>
    <item name="android:textStyle">bold</item>
    <item name="android:shadowColor">#000000</item>
    <item name="android:shadowDx">1</item>
    <item name="android:shadowDy">1</item>
    <item name="android:shadowRadius">2</item>
</style>

现在我想将半径添加到按钮,我已尝试<item name="android:radius">6dp</item>但它无法正常工作。对此有什么解决方案?

2 个答案:

答案 0 :(得分:8)

在drawable文件夹中,使用

创建一个round_button.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- http://www.dibbus.com/2011/02/gradient-buttons-for-android/ -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>

            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>

然后在包含按钮的xml中,将背景设置为:

android:background="@drawable/round_button"

答案 1 :(得分:7)

我相信将半径添加到您必须创建自定义drawable的按钮(请参阅此link,特别是形状可绘制部分)

然后,在定义了drawable的情况下,将按钮的background xml标签设置为等于您的可绘制文件:

android:background="@drawable/your_file"