Как создать кнопку изображения в Android?

Итак, я новичок в разработке Android... Как создать образ, который действует как кнопка, поэтому, когда я нажимаю на это изображение, изображение начинает конкретное действие. Поэтому я хочу, чтобы это отображалось как изображение:

 <Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="33dp"
    android:text="Button" />

Ответ 1

Создать ImageButton как:

В main.xml:

<ImageButton android:id="@+id/ib"
    android:src="@drawable/bookmark" <-- SET BUTTON IMAGE HERE -->
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
/>

В части кода:

ImageButton ib=(ImageButton)findViewById(R.id.ib);
ib.setOnClickListener(ibLis);
    }
    private OnClickListener ibLis=new OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //START YOUR ACTIVITY HERE AS
             Intent intent = new Intent(YOUR_CURRENT_ACTIVITY.this,NextActivity.class);
             startActivity(intent, 0);
        }
    };

EDIT:

и второй вариант, если вы хотите создать кнопку типа изображения с помощью кнопки "Вид", затем "Создать пользовательскую", как:

Сначала разместите все ваши изображения, как нажатые, сфокусированные и по умолчанию в папке res/drawable, а затем добавьте newbtn.xml в drawable/newbtn.xml как:

<?xml version="1.0" encoding="utf-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_pressed="true"  
          android:drawable="@drawable/button_pressed" /> <!-- pressed -->  
    <item android:state_focused="true"  
          android:drawable="@drawable/button_focused" /> <!-- focused -->  
    <item android:drawable="@drawable/button_normal" /> <!-- default -->  
</selector>

Наконец, в кнопке XML установите android:background как:

<Button    
    android:id ="@+id/btn"  
    android:layout_width="wrap_content"   
    android:layout_height="wrap_content"   
    android:text="Hello"  
    android:textColor="#ffffffff"  
    android:background="@drawable/newbtn"   <-- get button background to selector -->
    /> 

См. этот учебник для создания пользовательской кнопки с изображениями

Создание пользовательских, привлекательных кнопок в Android

Ответ 2

С элементом ImageView, прикрепляющим к нему прослушиватель кликов.

XML:

<ImageView
    android:id="@+id/myImageView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/myPic" 
    />

Код:

ImageView imageView = (ImageView) findViewById(R.id.myImageView);
imageView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(ThisActivity.this, MyOtherActivity.class);
        startActivity(intent);
    }
});

Вы также можете использовать ImageButton (точно так же). Это практически не имеет значения. Здесь вы можете увидеть более подробную информацию. Разница между кликаемым ImageView и ImageButton