Учебники

Android — дизайн пользовательского интерфейса

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

Компоненты экрана пользовательского интерфейса

Типичный пользовательский интерфейс приложения для Android состоит из панели действий и области содержимого приложения.

  • Основная панель действий
  • Просмотр управления
  • Область содержимого
  • Панель действий Split

Эти компоненты также были показаны на рисунке ниже —

Anroid UI Tutorial

Понимание компонентов экрана

Основной единицей приложения для Android является активность. Пользовательский интерфейс определен в XML-файле. Во время компиляции каждый элемент в XML компилируется в эквивалентный класс Android GUI с атрибутами, представленными методами.

Просмотр и ViewGroups

Деятельность состоит из представлений. Представление — это просто виджет, который появляется на экране. Это может быть кнопка и т. Д. Одно или несколько представлений могут быть сгруппированы в один GroupView. Пример ViewGroup включает макеты.

Типы макетов

Есть много типов макетов. Некоторые из которых перечислены ниже —

  • Линейный макет
  • Абсолютная планировка
  • Макет таблицы
  • Структура кадра
  • Относительная компоновка

Линейный макет

Линейный макет далее делится на горизонтальный и вертикальный макет. Это означает, что он может расположить представления в одном столбце или в одной строке. Вот код линейного макета (вертикальный), который включает в себя текстовое представление.

<?xml version=”1.0 encoding=”utf-8”?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
   android:layout_width=”fill_parent”
   android:layout_height=”fill_parent”
   android:orientation=”vertical” >
   
   <TextView
      android:layout_width=”fill_parent”
      android:layout_height=”wrap_content”
      android:text=”@string/hello” />
</LinearLayout>

AbsoluteLayout

AbsoluteLayout позволяет вам указать точное местоположение его дочерних элементов. Это можно объявить так.

<AbsoluteLayout
   android:layout_width=”fill_parent”
   android:layout_height=”fill_parent”
   xmlns:android=”http://schemas.android.com/apk/res/android” >
   
   <Button
      android:layout_width=”188dp”
      android:layout_height=”wrap_content”
      android:text=”Button”
      android:layout_x=”126px”
      android:layout_y=”361px” />
</AbsoluteLayout>

TableLayout

TableLayout группирует представления в строки и столбцы. Это можно объявить так.

<TableLayout
   xmlns:android=”http://schemas.android.com/apk/res/android”
   android:layout_height=”fill_parent”
   android:layout_width=”fill_parent” >
   
   <TableRow>
      <TextView
         android:text=”User Name:”
         android:width =”120dp”
         />
      
      <EditText
         android:id=”@+id/txtUserName”
         android:width=”200dp” />
   </TableRow>
   
</TableLayout>

RelativeLayout

RelativeLayout позволяет вам указать, как дочерние представления располагаются относительно друг друга. Он может быть объявлен следующим образом.

<RelativeLayout
   android:id=”@+id/RLayout”
   android:layout_width=”fill_parent”
   android:layout_height=”fill_parent”
   xmlns:android=”http://schemas.android.com/apk/res/android” >
</RelativeLayout>

FrameLayout

FrameLayout — это заполнитель на экране, который можно использовать для отображения одного представления. Это можно объявить так.

<?xml version=”1.0” encoding=”utf-8”?>
<FrameLayout
   android:layout_width=”wrap_content”
   android:layout_height=”wrap_content”
   android:layout_alignLeft=”@+id/lblComments”
   android:layout_below=”@+id/lblComments”
   android:layout_centerHorizontal=”true” >
   
   <ImageView
      android:src = “@drawable/droid”
      android:layout_width=”wrap_content”
      android:layout_height=”wrap_content” />
</FrameLayout>

Помимо этих атрибутов, существуют другие атрибуты, которые являются общими для всех представлений и ViewGroups. Они перечислены ниже —

Sr.No Посмотреть и описание
1

layout_width

Определяет ширину View или ViewGroup

2

layout_height

Определяет высоту View или ViewGroup

3

layout_marginTop

Определяет дополнительное пространство в верхней части View или ViewGroup

4

layout_marginBottom

Определяет дополнительное пространство в нижней части View или ViewGroup

5

layout_marginLeft

Определяет дополнительное пространство слева от View или ViewGroup

6

layout_marginRight

Определяет дополнительное пространство справа от View или ViewGroup

7

layout_gravity

Определяет, как позиционируются дочерние представления

8

layout_weight

Определяет, сколько дополнительного пространства в макете должно быть выделено для представления

layout_width

Определяет ширину View или ViewGroup

layout_height

Определяет высоту View или ViewGroup

layout_marginTop

Определяет дополнительное пространство в верхней части View или ViewGroup

layout_marginBottom

Определяет дополнительное пространство в нижней части View или ViewGroup

layout_marginLeft

Определяет дополнительное пространство слева от View или ViewGroup

layout_marginRight

Определяет дополнительное пространство справа от View или ViewGroup

layout_gravity

Определяет, как позиционируются дочерние представления

layout_weight

Определяет, сколько дополнительного пространства в макете должно быть выделено для представления

Меры измерения

Когда вы указываете размер элемента в пользовательском интерфейсе Android, вы должны помнить следующие единицы измерения.

Sr.No Блок и описание
1

дп

Плотно-независимый пиксель. 1 dp эквивалентен одному пикселю на экране с разрешением 160 dpi.

2

зр

Независимый от масштаба пиксель. Это похоже на dp и рекомендуется для указания размеров шрифта

3

пт

Точка. Точка определяется как 1/72 дюйма в зависимости от размера физического экрана.

4

ПВ

Pixel. Соответствует фактическим пикселям на экране

дп

Плотно-независимый пиксель. 1 dp эквивалентен одному пикселю на экране с разрешением 160 dpi.

зр

Независимый от масштаба пиксель. Это похоже на dp и рекомендуется для указания размеров шрифта

пт

Точка. Точка определяется как 1/72 дюйма в зависимости от размера физического экрана.

ПВ

Pixel. Соответствует фактическим пикселям на экране

Плотность экрана

Sr.No Плотность и DPI
1

Низкая плотность (ldpi)

120 точек на дюйм

2

Средняя плотность (МДПИ)

160 точек на дюйм

3

Высокая плотность (hdpi)

240 точек на дюйм

4

Сверхвысокая плотность (xhdpi)

320 точек на дюйм

Низкая плотность (ldpi)

120 точек на дюйм

Средняя плотность (МДПИ)

160 точек на дюйм

Высокая плотность (hdpi)

240 точек на дюйм

Сверхвысокая плотность (xhdpi)

320 точек на дюйм

Оптимизация макетов

Вот несколько рекомендаций по созданию эффективных макетов.