Кнопки в android

Автор: droid.

Откройте файл main. xml. Обратите внимание, что в нижней части окна среды разработки имеются две вкладки: Graphical Layout и main. xml. Откройте вкладку Graphical Layout и внимательно изучите окно. Слева у вас будет панель Palette, содержащая большой список элементов Views и Layouts. Сейчас нас интересуют только элементы Views, которые являются элементами управления - кнопки, флажки, переключатели, индикаторы прогресса и т. д. Изображение: 

Откройте файл main. xml. Обратите внимание, что в нижней части окна среды разработки имеются две вкладки: Graphical Layout и main. xml. Откройте вкладку Graphical Layout и внимательно изучите окно. Слева у вас будет панель Palette, содержащая большой список элементов Views и Layouts. Сейчас нас интересуют только элементы Views, которые являются элементами управления - кнопки, флажки, переключатели, индикаторы прогресса и т. д.

Подведите курсор к элементу Button и перетащите его на форму. В результате ваших действий на форме появится стандартная кнопка с настройками по умолчанию. В правой части экрана у вас имеется окно Properties, в котором вы можете настроить необходимые свойства для кнопки. Например, отыщите свойство Text и присвойте ему свой текст - Поздороваться. По своей старой привычке я также присвоил свойству id новое значение @+id/butHello вместо стандартного @+id/button1.

Заодно добавим на форму текстовое поле, куда будем выводить приветствие после щелчка кнопки. Выбираем на панели инструментов элемент EditText и перетаскиваем его на форму. В окне свойств удаляем текст из свойства Text, чтобы в текстовом поле ничего не было.

Кстати, если вам не нравится взаимное расположение помещенных элементов, то можете на форме перетаскивать кнопку и текстовое поле, меняя их местами. Обратите внимание, что элементы при этом располагаются строго друг над другом. У вас не получится расположить их рядом на одной линии. Забегая вперед, скажу, что такое поведение связано с контейнером LinearLayout, внутри которого расположены наши элементы. LinearLayout предназначен специально для тех случаев, когда необходимо упорядочить элементы строго в столбик. При этом разработчику не приходится заниматься вычислениями координат для каждого элемента - система самостоятельно расчитает расположение элементов.

Будем считать, что интерфейс программы готов - у нас есть кнопка для нажатия и текстовое поле для вывода сообщений.

Теперь нужно научиться писать код для щелчка кнопки. Переключитесь с вкладки Graphical Layout на вкладку main. xml и найдите тег. Добавьте к нему еще одну строчку:

Таким образом мы определили событие onClick для кнопки (щелчок) и теперь нам осталось написать обработчик события. Открываем файл HelloWorld. java и пишем сразу после метода onCreate

public void butHello_Click(View v){
edtext. setText("Здравствуй, друг");
}

Обратите внимание, что имя метода butHello_Click должно совпадать со строкой, которую мы задали в атрибуте android:onClick для кнопки, а также добавляем скобки с текстом View v. В фигурных скобках пишем код, который должен выполниться при щелчке кнопки. Так как нам надо вывести текст в текстовом поле, то просто присваиваем нужный текст через метод setText.

Полный текст кода для HelloWorld. java будет выглядеть следующим образом.

package com. example. helloworld;

import android. app. Activity;
import android. os. Bundle;

import android. widget. EditText;
import android. view. View;

public class HelloWorld extends Activity {

private EditText edtext;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super. onCreate(savedInstanceState);
setContentView(R. layout. main);

edtext = (EditText)findViewById(R. id. editText1);
}

public void butHello_Click(View v){
edtext. setText("Здравствуй, друг");
}
}