Layout - разметка

Содержание

Слайд 2

Layout - разметка Любая Activity (деятельность, окно приложения) состоит из View

Layout - разметка

Любая Activity (деятельность, окно приложения) состоит из
View — виджет,

который рисуется на экране, например, кнопка, текстовое поле, список. Все такие виджеты наследуются от класса android.view.View. 
ViewGroup — разметка, позволяющая расположить один или несколько View. Разметки наследуются от класса android.view.ViewGroup, который в свою очередь наследуется от android.view.View.

Views и ViewGroups

Слайд 3

ViewGroups - FrameLayout - LinearLayout - TableLayout - RelativeLayout - ScrollView

ViewGroups

- FrameLayout - LinearLayout - TableLayout - RelativeLayout - ScrollView

Слайд 4

FrameLayout Разметка для отображения одного элемента. Дочерние View или ViewGroup в

FrameLayout

Разметка для отображения одного элемента. Дочерние View или ViewGroup в

FrameLayout выравниваются по верхнему левому углу. Разметка может содержать несколько элементов, но тогда они будут перекрывать друг друга

 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 />

Слайд 5

FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/image" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Button" />

FrameLayout

 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/image"
 />
   android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 />

Слайд 6

FrameLayout visibility Атрибут android:visibility в xml или метод setVisibility (int visibility),

FrameLayout visibility

Атрибут android:visibility в xml или метод setVisibility (int visibility), где visibility принимает

одно из трех значений: VISIBLE — элемент виден; INVISIBLE — элемент невиден, но все еще занимает место в разметке;
GONE — элемент невидим и не занимает место в разметке
Слайд 7

LinearLayout Разметка для отображения одного или нескольких элементов в одну линию,

LinearLayout

Разметка для отображения одного или нескольких элементов в одну линию, горизонтально

или вертикально. Для выбора ориентации используется атрибут android:orientation с двумя возможными значениями «horizontal» и «vertical»
Слайд 8

LinearLayout vertical android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Button" /> android:layout_width="wrap_content"

LinearLayout vertical

 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 >
   android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 />
   android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 />
   android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 /> 

Слайд 9

LinearLayout vertical

LinearLayout vertical

Слайд 10

LinearLayout horizontal android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Button" /> android:layout_width="wrap_content"

LinearLayout horizontal

 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="horizontal"
 >
   android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 />
   android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 />
   android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/Button"
 /> 

Слайд 11

LinearLayout horizontal

LinearLayout horizontal

Слайд 12

TableLayout Разметка для расположения элементов в виде таблицы. Ряды задаются в

TableLayout

Разметка для расположения элементов в виде таблицы.

Ряды задаются в xml с

помощью тега TableRow, а ячейки в каждом ряду создаются автоматически для каждого элемента. Количество колонок в таблице = максимальному количеству элементов в рядах. 

Ширина колонки = самому широкому элементу в ней. Ячейки таблицы можно оставлять пустыми, или объединить.
Атрибут android:layout_column — задает в какой столбец поместить данный элемент (нумерация столбцов начинается с 0).
Атрибут android:layout_span — позволяет объединить указанное количество столбцов (ряды объединить нельзя).

Слайд 13

TableLayout android:layout_height="wrap_content“ android:src="@drawable/image" android:layout_column="1"/> android:layout_height="wrap_content“ android:text="@string/Button"/> android:layout_height="wrap_content“ android:text="@string/Button"/> android:layout_height="wrap_content“ android:text="@string/Button" android:layout_span="2"/>

TableLayout

   android:layout_height="wrap_content“ android:src="@drawable/image"
   android:layout_column="1"/>
 

  

Слайд 14

TableLayout

TableLayout

Слайд 15

RelativeLayout Разметка для расположения элементов относительно родителя или друг друга. Элементы

RelativeLayout

Разметка для расположения элементов относительно родителя или друг друга. Элементы начинают

располагаться в указанном порядке, поэтому необходимо чтобы элемент был описан до того, как другой элемент будет на него ссылаться.
Слайд 16

RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/image" android:layout_centerHorizontal="true" /> android:layout_height="wrap_content" android:layout_toLeftOf="@id/image" android:text="@string/Left" /> android:layout_height="wrap_content" android:layout_toRightOf="@id/image" android:text="@string/Right" />

RelativeLayout

 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/image"
  android:layout_centerHorizontal="true"
 />
 

Слайд 17

RelativeLayout attributes Расположение относительно родительского элемента. Значением атрибута является «true» android:layout_alignParentTop

RelativeLayout attributes

Расположение относительно родительского элемента.  Значением атрибута является «true»

android:layout_alignParentTop — верхняя граница элемента

располагается на верхней границе RelativeLayout android:layout_alignParentLeft — левая граница элемента располагается на левой границе RelativeLayout android:layout_alignParentRight — правая граница элемента располагается на правой границе RelativeLayout android:layout_alignParentBottom — нижняя граница элемента располагается на нижней границе RelativeLayout android:layout_centerInParent — элемент располагается в центре родительского по горизонтали и вертикали android:layout_centerHorizontal — элемент располагается в центре родительского по горизонтали android:layout_centerVertical — элемент располагается в центре родительского по вертикали
Слайд 18

RelativeLayout attributes Расположение относительно других элементов. Значением атрибута является id другого

RelativeLayout attributes

Расположение относительно других элементов.
Значением атрибута является id другого элемента.

android:layout_above —

элемент располагается сверху от другого элемента android:layout_toLeftOf — элемент располагается слева от другого элемента android:layout_toRightOf — элемент располагается справа от другого элемента. android:layout_below — элемент располагается снизу от другого элемента. android:layout_alignBaseline — базовая линия элемента выравнивается по базовой линии другого элемента android:layout_alignTop — верхняя граница элемента выравнивается по верхней границе другого элемента android:layout_alignLeft — левая граница элемента выравнивается по левой границе другого элемента android:layout_alignRight — правая граница элемента выравнивается по правой границе другого элемента android:layout_alignBottom — нижняя граница элемента выравнивается по нижней границе другого элемента
Слайд 19

ScrollView ScrollView является наследником класса FrameLayout. Отличием является то, что он

ScrollView

ScrollView является наследником класса FrameLayout. Отличием является то, что он позволяет

прокручивать элементы, если они занимают больше места чем физический размер экрана. В ScrollView также может содержаться только один элемент (View или ViewGroup), чаще всего используется LinearLayout, в которого вложено несколько элементов. Scrollview поддерживает только вертикальную прокрутку.