how to use an image as a button
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 "but开发者_如何学运维ton".
Anyone know how to do this?
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"
Use ImageButton class.
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
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 } });
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.
精彩评论