如何将图像用作按钮

Ian*_*Ian 14 android image button

这应该是一个简单的,我真的认为我所做的是正确的,但显然它不是.我有一个我想用作按钮的图像,我创建了按钮并且正在工作.但现在我只想显示这个图像,而不是站立的android"按钮".

有人知道怎么做吗?

Nik*_*ski 23

善用 <selector

在您的drawable-hdpi文件夹中创建名为xml的文件button_image.xml

并添加以下行:

<?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>
Run Code Online (Sandbox Code Playgroud)

然后在你的主xml中声明你的按钮添加这一行

android:background="@drawable/button_image"
Run Code Online (Sandbox Code Playgroud)

然后你就会得到reall按钮的效果.请注意,您需要两张图片才能获得点击按钮的效果.

如果您不想使用选择器而只使用图片而不是

机器人:背景= "@绘制/ MYIMAGE"


sea*_*alz 6

您可以使用ImageButtons而不是常规按钮

只需在XML中设置图像的背景

<ImageButton android:background="@drawable/mypicture"/>
Run Code Online (Sandbox Code Playgroud)

一个很好的教程是这里


Ngu*_*inh 5

跟我来,你可以在android中使用很多控件来解决这个问题(Button,ImageView,ImageButton,甚至是TextView ......).只需将图像设置为其背景,然后实现OnClickListener以处理click事件.

示例,使用ImageView, - 在布局文件中:

      <ImageView
            android:id="@+id/button_login"
            android:layout_width="fill_parent"
            android:layout_height="50dp"
            android:background="@drawable/button_login"
        />
Run Code Online (Sandbox Code Playgroud)
  • 在后面的代码文件中:

        ImageView login;
    login = (ImageView) findViewById(R.id.button_login);
    login.setOnClickListener(new OnClickListener() {
    
        public void onClick(View v) {
            //TODO: your code here
        }
    });
    
    Run Code Online (Sandbox Code Playgroud)