Как использовать изображение в виде кнопки

Это должно быть легко, и я действительно думал, что то, что я делаю, было правильным, но, видимо, это не так. У меня есть изображение, которое я хочу использовать в качестве кнопки, у меня есть кнопка, созданная и работающая. Но теперь я просто хочу, чтобы этот образ отображался вместо стандартного андроида "button".

Кто-нибудь знает, как это сделать?

Ответы

Ответ 1

Использовать <selector

Создайте в вашем xml файле папки drawable-hdpi 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>

а затем в главном xml, где вы объявите свою кнопку, добавьте эту строку

android:background="@drawable/button_image"

И затем вы получите эффект кнопки reall. Обратите внимание: вам нужно два изображения, чтобы получить эффект нажатия кнопки.

Если вы не хотите использовать селектор и используете только изображение, а просто

Android: фон = "@вытяжке/myimage"

Ответ 2

Используйте ImageButton класс.

Ответ 3

Вы можете использовать ImageButtons вместо обычных кнопок

Просто установите фон из вашего изображения в XML

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

Хороший учебник Здесь

Ответ 4

Вам нужно записать android:background="@drawable/my_pic" в ваш xml файл с помощью кнопки. Где my_pic - ваше имя для pic. Надеюсь, это поможет вам.

Ответ 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"
        />
  • в файле с законами:

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