ToggleButton представляет собой двухпозиционный тумблер вкл./выкл.
RadioButton позволяет выбирать один из нескольких вариантов.
CheckBox позволяет выбирать несколько вариантов.
ImageButton позволяет использовать картинку.
Перенесем картинку в drawable-hdpi и переименуем ее так чтобы имя содержало только строчные буквы и цифры.
Далее в srс кнопки указываем добавленную картинку.
Также добавим в main.xml кнопку и TextView.
В Main.java добавим следующий код.
Для того чтобы вместо множества разноформатных картинок использовать одну существует инструмент draw9patch (Android SDK\adt-bundle-windows-x86_64\sdk\tools\draw9patch.bat).
Перетянув заготовку кнопки можно посмотреть как она выглядит при разного рода растяжениях. Искажения очень заметны на уголках кнопки. Для того чтобы избежать этого в левом окне отключается Show lock и включается Show patches. Далее по полям отмечаются зоны которые будут использоваться при растяжении. Делается то же самое с другой стороны сверху и снизу. Белая часть окна не будет изменяться. Зеленая будет растягиваться в зависимости от изменения размеров кнопки. А розовая это область заполнения кнопки.
Теперь сохраним результат и перенесем его в ресурсы. У ImageButton убираем Src и ставим Background в button9patched и кнопка будет отображаться без искажения картинки.
RadioButton позволяет выбирать один из нескольких вариантов.
CheckBox позволяет выбирать несколько вариантов.
ImageButton позволяет использовать картинку.
Перенесем картинку в drawable-hdpi и переименуем ее так чтобы имя содержало только строчные буквы и цифры.
Далее в srс кнопки указываем добавленную картинку.
Также добавим в main.xml кнопку и TextView.
В Main.java добавим следующий код.
package com.example.buttoncheck; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageButton; import android.widget.TextView; public class Main extends Activity implements OnClickListener { // вместо того чтобы писать Listener для кнопок @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button but1 = (Button) findViewById(R.id.button1); ImageButton ibut1 = (ImageButton) findViewById(R.id.imageButton1); but1.setOnClickListener(this); ibut1.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } // новый метод @Override public void onClick(View v) { // TODO Auto-generated method stub TextView text1 = (TextView) findViewById(R.id.textView1); // ссылка на текст if (v.getId() == R.id.button1) { // если нажата кнопка button1 text1.setText("button1"); } if (v.getId() == R.id.imageButton1) { // если нажата кнопка imageButton1 text1.setText("imageButton1"); } } }
Для того чтобы вместо множества разноформатных картинок использовать одну существует инструмент draw9patch (Android SDK\adt-bundle-windows-x86_64\sdk\tools\draw9patch.bat).
Перетянув заготовку кнопки можно посмотреть как она выглядит при разного рода растяжениях. Искажения очень заметны на уголках кнопки. Для того чтобы избежать этого в левом окне отключается Show lock и включается Show patches. Далее по полям отмечаются зоны которые будут использоваться при растяжении. Делается то же самое с другой стороны сверху и снизу. Белая часть окна не будет изменяться. Зеленая будет растягиваться в зависимости от изменения размеров кнопки. А розовая это область заполнения кнопки.
Теперь сохраним результат и перенесем его в ресурсы. У ImageButton убираем Src и ставим Background в button9patched и кнопка будет отображаться без искажения картинки.