Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум ТРТКС part 2 2012.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆
  1. Виджеты (представления)

Представления (виджеты или виды) являются базовыми элементами пользовательского интерфейса, они являются объектами класса View. Это своего рода строительные блоки, из которых состоит экран приложения. Иначе, виджеты – это обычные элементы управления: кнопки, текстовые поля, флажки, переключатели, списки и т.п.

Стандартные элементы имеют привычные свойства: ширина, высота, цвет и тому подобные. Еще два важных свойства, которые могут влиять на размер и положение дочерних элементов  вес (weight) и выравнивание (gravity). Weight используется для присвоения элементу показателя важности, отличающего его от других элементов, находящихся в контейнере. Предположим, в контейнере находится три элемента управления: первый имеет вес 1 (максимальное возможное значение), а два других имеют значение 0. В этом случае элемент управления, который имеет значение 1, займет в контейнере все свободное пространство. Gravity – это ориентация в контейнере. Например, необходимо выровнять текст надписи по правому краю, тогда свойство gravity будет иметь значение right. Набор значений для gravity ограничен: left, center, right, top, bottom, center_vertiсаl, сliр_horizontal и еще некоторые.

    1. TextView

Виджет TextView предназначен для отображения текста без возможности редактирования его пользователем. TextView один из самых используемых виджетов. С его помощью пользователю удобнее ориентироваться в программе. По сути, TextView служит для представления пользователю описательного текста.

Атрибуты TextView:

  • android:textSize – размер текста. При установке размера текста используются несколько единиц измерения: px (pixels), dp (density-independent pixels), sp (scale-independent pixels), in (inches), pt (points), mm (millimeters). Чтобы текст мог меняться в зависимости от выбора пользователя, используют единицы измерения sp.

  • android:textStyle – стиль текста. Используются константы: normal, bold, italic.

  • android:textColor – цвет текста. Используются четыре формата в шестнадцатеричной кодировке: #RGB; #ARGB; #RRGGBB; #AARRGGBB, где R, G, B – соответствующий цвет, А – прозрачность (alpha-channel). Значение А, установленное в 0, означает прозрачность 100%.

Чтобы оживить текст, можно дополнительно задействовать атрибуты для создания эффектов тени: shadowColor (цвет тени), shadowDx (смещение тени по горизонтали), shadowDy (смещение по вертикали) и shadowRadius (ширина тени). Во время установки значений изменения не видны, необходимо запустить пример в эмуляторе или на устройстве.

Пример:

<TextView

android:id="@+id/Result"

android:layout_height="wrap_content"

android:layout_width="match_parent"

android:textSize="12pt"

android:textStyle="bold"

android:textColor="#00ff"

android:gravity="center_horizontal">

</TextView>

    1. Button

Кнопка – один из самых распространенных элементов управления в программировании. Наследуется от TextView и является базовым классом для класса СompoundButton. От класса CompoundButton, в свою очередь, наследуются такие элементы как CheckBox, ToggleButton и RadioButton. На кнопке располагается текст и на кнопку нужно нажать, чтобы получить результат.

Для того чтобы при нажатии кнопки выполнялось какое-либо действие, необходимо написать программный код обработчика события. Существует несколько способов обработки нажатий на кнопку. Относительно новый и простой для начинающего программиста способ – использовать атрибут onClick.

Пример:

<Button

android:id="@+id/Btn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:onClick="onClick"

android:text="Push"

android:background="@drawable/picture"

/>

Иногда нужно сделать кнопку недоступной. Через XML нельзя сделать кнопку недоступной (нет подходящего атрибута). Это можно сделать программно через метод setEnable(). Как альтернативу можно рассмотреть атрибут android:clickable, который позволит кнопке не реагировать на касания, но при этом вид кнопки останется обычным.