MissCoder87
MissCoder87

Reputation: 2669

Adding a background image, to a background xml layout

I'm using an xml file in drawable to make my buttons in my app 'pretty'.

enter image description here

^ Like that.

It works fine, however I want to add a tick or cross to the buttons (to mark completed or not) - I'm not too sure if it's possible.

Here is my xml for the buttons:

<?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>

I'm setting the Background element on the button to use the above like @drawable/bluebuttons

Any help will be really appreciated

Upvotes: 4

Views: 1973

Answers (2)

Rushabh Patel
Rushabh Patel

Reputation: 3080

If you are using button then you can use Button's property in XML file.

android:drawableRight="@drawable/ANY_DRAWABLE_IMAGE"

In my case it was like this:

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

Or in your code, you can put like this:

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

Hope this will help you.

Upvotes: 4

Pratik Sharma
Pratik Sharma

Reputation: 13405

If you are interested in setting image on button dynamically from Activity then you can use this :

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

Thanks.

Upvotes: 0

Related Questions