HarryHippo HarryHippo - 4 months ago 40
Android Question

Center a drawable in a Button with background and no text

I have a few buttons in my Android app. They each look kinda like this:

<Button
android:id="@+id/button_1"
android:drawableTop="@drawable/an_icon"
android:background="@drawable/a_background"
android:layout_width="size_dp"
android:layout_height="size_dp">
</Button>


Granted, I'm new to Android dev, but I can't figure out how to center the drawable in my button. I've tried the different drawableLocations, margins and padding for the button and its container, as well as drawablePadding, but I can't seem to get it done. Is there a way to center the drawable without abandoning Button for another View?

Answer

Is there a way to center the drawable without abandoning Button

So you can have both (background & drawable) by using ImageView as below: (So No need to use Button)

        <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/an_icon"
        android:background="@drawable/a_background" />

For Onclick of ImageView:

findViewById(R.id.imageView1).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }
        });
Comments