4

我正在使用可绘制的 xml 文件来使我的应用程序中的按钮“漂亮”。

在此处输入图像描述

^ 就这样。

它工作正常,但是我想在按钮上添加一个勾号或叉号(以标记完成与否) - 我不太确定它是否可能。

这是我的按钮 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>

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

任何帮助将不胜感激

4

2 回答 2

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);

希望这会帮助你。

于 2013-01-18T09:58:43.477 回答
0

如果您有兴趣在按钮上动态设置图像,Activity可以使用:

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

谢谢。

于 2013-01-18T10:13:56.397 回答