按钮角落圆角背景图像

时间:2013-03-31 16:07:42

标签: android image button background rounding

我想用background.png和圆角创建Button。怎么做?

我在MainActivity上编写了这段代码:

<Button 
    android:layout_width="match_parent"
    android:layout_height="40dip"
    android:text="LOGIN TO THE GAME"
    android:textColor="#ffffff"
    android:background="@drawable/button_corners" />

我创建文件'button_corners.xml',其中包含:

    <?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners
        android:radius="10dip" />

    <stroke
        android:width="0.5dp"
        android:color="#000000" />

</shape>

现在如何将background-image添加到此按钮?救命啊!

2 个答案:

答案 0 :(得分:0)

带圆角和图片的按钮,我从未使用过。但是使用带有背景颜色的按钮,没有任何图像,我使用了这段代码:

活动:

<Button 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="20dp"
    android:text="Ementas"
    android:background="@drawable/button_corners"/>

在文件'button_corners.xml'上:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"
    android:padding="10dp" >

    <corners 
        android:bottomRightRadius="10dp"
        android:bottomLeftRadius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp"/>

    <gradient
        android:startColor="@color/green_dark"
        android:endColor="@color/green_light"
        android:angle="270" />
</shape>

我还有一个带颜色的文件:

<resources>
    <color name="green_dark">#98B505</color>
    <color name="green_light">#5F7102</color>
</resources>

最终结果如下:

enter image description here

我认为使用图像,代码应该不会太差异。

答案 1 :(得分:0)

使用线性布局(A)并设置您拥有的任何图像作为其背景。然后使用另一个线性布局(B)放置在线性布局(A)内,并为该布局提供带圆角的背景。

<LinearLayout
            android:id="@+id/A"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/whateverimage"
            android:orientation="vertical" >

        <LinearLayout
            android:id="@+id/B"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/roundedstuff"
            android:orientation="vertical" >
</LinearLayout>
</LinearLayout>

roundedstuff.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient 
    android:startColor="#00000000" 
    android:endColor="#00000000" />
 <padding android:left="2dp"
    android:top="2dp"
    android:right="2dp"
    android:bottom="2dp" />
<stroke
    android:width="2dp"
    android:color="#ffffff" />
<corners 
    android:bottomRightRadius="10dp" 
    android:radius="10dp"
    android:bottomLeftRadius="10dp" 
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp" />

将其保存到可绘制文件夹