2

我想用 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>

现在如何将背景图像添加到此按钮?帮助!

4

2 回答 2

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>

最终结果是这样的:

在此处输入图像描述

我认为使用图像,代码应该不会有太大的不同。

于 2014-04-30T14:48:06.553 回答
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" />

将其保存到可绘制文件夹

于 2015-01-23T19:51:33.777 回答