how to use an image as a button

2019-01-31 14:31发布

this should be an easy one and I really thought that what I was doing was correct but apparently it isn't. I have an image that I want to use as a button, I have the button created and working. But now I just want this image to show up instead of the standatd android "button".

Anyone know how to do this?

5条回答
ら.Afraid
2楼-- · 2019-01-31 14:49
倾城 Initia
3楼-- · 2019-01-31 14:54

You need to write the android:background="@drawable/my_pic" to your xml file at the button. Where my_pic is your pic's name. Hope it helps you.

查看更多
做个烂人
4楼-- · 2019-01-31 14:59

You can Use ImageButtons instead of regular buttons

The just set your background from your image in your XML

<ImageButton android:background="@drawable/mypicture"/>

A nice tutorial is Here

查看更多
冷血范
5楼-- · 2019-01-31 15:02

Follow me, You can use many controls in android to solve this problem (Button, ImageView, ImageButton, or even TextView ... ). Just sets an image as its background and then implements OnClickListener to handle click event.

Example, with ImageView, - in layout file:

      <ImageView
            android:id="@+id/button_login"
            android:layout_width="fill_parent"
            android:layout_height="50dp"
            android:background="@drawable/button_login"
        />
  • in behind-code file:

        ImageView login;
    login = (ImageView) findViewById(R.id.button_login);
    login.setOnClickListener(new OnClickListener() {
    
        public void onClick(View v) {
            //TODO: your code here
        }
    });
    
查看更多
地球回转人心会变
6楼-- · 2019-01-31 15:06

Make a use of <selector

Create in your drawable-hdpi folder xml file called button_image.xml

and add the following lines:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/picture" /> 
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/picture_pressed" /> 
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/picture_pressed" /> 
    <item android:drawable="@drawable/picture" /> 
</selector>

and then in your main xml where you declare your button add this line

android:background="@drawable/button_image"

And then you get effect of reall button. Note that you need two pictures to get effect of button being clicked.

If you dont want to use the selector and use just picture instead then just

android:background="@drawable/myimage"

查看更多
登录 后发表回答