top of page

Создаем кнопку в Android. Пример работы с виджетом Button в Android

Цель работы: Научиться правильно использовать такой элемент управления как кнопка. Узнать и использовать программные коды используемые для работы с кнопками. Научиться создавать интерфейс мобильного приложения, чтобы все элементы располагались естественно и понятно.

 Общие сведения: Мы с вами научимся использовать виджет Button в Android.

Также здесь рассказывается о том, как обрабатывать нажатия, применять стили, работать с xml-макетом кнопки, а также управлять виджетом Button в коде. Урок будет полезен для начинающих андроид-программистов.

Сегодня мы узнаем как задавать различные расположение для кнопок, менять фоновые изображения и обрабатывать события, связанные с виджетом Button.

Кнопка представляет собой кликабельный  Android виджет, который  может  принимать  различные формы и реагировать на действия пользователя, а именно: обычное нажатие, длительное нажатие и т.д. Виджет Button доступен в пакете android.widget.Button.

Как и любой другой виджет, вы можете объявить Button в макете вашей активности или фрагмента, также создать кнопку программно.

Давайте создадим первые кнопки и зададим различные свойства каждой:

Сначала создадим новый проект ButtonProject не забывем его сохранять в директории AndroidStudioProject. Затем заменим код layout/activity_main.xml на нижеследующий:

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <TextView
        android:id="@+id/tvOut"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="50dp"
        android:text="TextView">
    </TextView>

    <Button
        android:id="@+id/topButton"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Верхняя Кнопка" />

    <Button
        android:id="@+id/leftButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Левая Кнопка" />

    <Button
        android:id="@+id/horizontalButton"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:text="Кнопка размером 200х100 dp" />

    <Button
        android:id="@+id/largeButton"
        android:layout_width="300dp"
        android:layout_height="200dp"
        android:gravity="center_horizontal"
        android:text="Большая Кнопка" />

</LinearLayout>

Как работают кнопки? Что происходит в каждом виджете Button?

Android отрендерит приведенный выше XML-код макета следующим образом:

  1. Android увидит тип макета LinearLayout установит его в вертикальное положение.

  2. Параметр layout_width укажет ширину макета, а layout_height — высоту. Если в каком-то из значений будет match_parent, то кнопка растянется на весь экран; wrap_content укажет, что размеры кнопки должны быть достаточными, чтобы вместить вложенный контент (текст, картинка).

  3. android:layout_gravity определит позиционирование виджета Button относительно родительского компонента.

  4. android:gravity определит выравнивание содержимого Button. Она задается одной из констант left, right, center_vertical, center_horizontal, center.

  5. Как выглядит макет после рендеринга (прорисовки макета после анализа):

Лабораторная работа №11. Элементы управления.

bottom of page