пользовательская форма кнопки Android - PullRequest
2 голосов
/ 29 декабря 2010

Я новичок. Поэтому я прошу вас быть терпеливыми со мной. Я пытаюсь получить пользовательскую форму кнопки вместо обычной прямоугольной. Есть ли другой способ сделать это, кроме как установить его в качестве фона для кнопки? Также я пытаюсь использовать разные цвета для разных состояний кнопки. Для этого я создал этот файл:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" 
          android:state_pressed="false" 
          android:drawable="@android:drawable/my_button_background_focus_blue" />
    <item android:state_focused="true" 
          android:state_pressed="true"
          android:drawable="@android:drawable/my_button_background_pressed_blue" />
    <item android:state_focused="false" 
          android:state_pressed="true"
      android:drawable="@android:drawable/my_button_background_pressed_blue" />
    <item android:drawable="@android:drawable/my_button_background_normal" />
</selector>

Должен ли я включить это в main.xml или создать еще один XML-файл? Если так, где я могу создать это? Спасибо.

1 Ответ

2 голосов
/ 29 декабря 2010

Есть ли другой способ сделать это, кроме как установить его в качестве фона для кнопки?

Есть и другие способы, но это проще. Например, вы можете создавать свои собственные кнопки, реализующие пользовательский вид, но это не стоит усилий.

Должен ли я включить это в main.xml или создать еще один XML-файл? Если да, где я могу его создать?

Вы должны создать новый файл XML. Вы называете это как хотите, и помещаете это в папку res/drawable. Сделав это, вы можете ссылаться на этот файл из XML или программно:

<Button
    android:background="@drawable/the_name_of_the_xml"/>

Или ...

button.setBackgroundResource(R.drawable.the_name_of_the_xml);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...