将背景图像添加到背景xml布局

时间:2013-01-18 09:51:11

标签: java android drawable

我在drawable中使用xml文件使我的应用程序中的按钮“漂亮”。

enter image description here

^就像那样。

它工作正常,但是我想在按钮上添加勾号或十字形(标记是否已完成) - 我不太确定是否可能。

这是按钮的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="5dp"
                android:top="5dp"
                android:right="5dp"
                android:bottom="5dp" />
        </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="5dp"
                android:top="5dp"
                android:right="5dp"
                android:bottom="5dp" />
        </shape>
    </item>
</selector>

我在按钮上设置Background元素以使用上面的@drawable/bluebuttons

任何帮助都将非常感激

2 个答案:

答案 0 :(得分:4)

如果您正在使用按钮,则可以在XML文件中使用Button的属性。

android:drawableRight="@drawable/ANY_DRAWABLE_IMAGE"

就我而言,就像这样:

<Button android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ...
    ...
    android:drawableRight="@drawable/ic_tick" />

或者在你的代码中,你可以这样说:

// PUT ZERO FOR NO DRAWABLE
textView1.setCompoundDrawablesWithIntrinsicBounds(LEFT_DRAWABLE, TOP_DRAWABLE,RIGHT_DRAWABLE, BOTTOM_DRAWABLE);

希望这会对你有所帮助。

答案 1 :(得分:0)

如果您有兴趣从Activity动态设置图片按钮,那么您可以使用此功能:

Drawable iconTick= getApplicationContext().getResources().getDrawable(R.drawable.icon_tick);
mBtnTaks1.setCompoundDrawablesWithIntrinsicBounds(iconTick, null, null, null); // left,top,right,bottom

感谢。