Android XML: Отображение текста - TextView


И так. Вы создали проект. Запустили его. Ознакомились со структурой проекта и элементами Android studio.  Узнали базовые атрибуты для всех вью и даже модифицировали TextView. 

Давайте рассмотрим более подробно что же умеет TextView и как его можно модифицировать. Вот основные атрибуты TextView которые можно модифицировать:

Базовые атрибуты, которые есть у всех View и контейнеров:

  • android:background: Устанавливает фон TextView.
  • android:padding: Устанавливает внутренний отступ текста от границ TextView.
  • android:layout_width и android:layout_height: Устанавливают ширину и высоту TextView.

и специфичные для TextView атрибуты.

  • android:text: Устанавливает текст, который будет отображаться в TextView.
  • android:textSize: Устанавливает размер текста.
  • android:textColor: Устанавливает цвет текста.
  • android:textStyle: Устанавливает стиль текста - Жирный, Курсив, Нормальный
  • android:gravity: Устанавливает выравнивание текста внутри TextView.
  • android:lines: Устанавливает сколько линий может отобразить TextView (только для высоты wrap_content)
  • android:ellipsize: Устанавливает поведение для случаев когда текст длиннее чем TextView может отобразить


Возьмем наш базовый TextView :

<TextView
   android:id="@+id/our_id"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Start Develop"
   app:layout_constraintBottom_toBottomOf="parent"
   app:layout_constraintEnd_toEndOf="parent"
   app:layout_constraintStart_toStartOf="parent"
   app:layout_constraintTop_toTopOf="parent"/>

Который выглядит вот так:

Android XML: Отображение текста - TextView

 

Не берем во внимание параметры app:layout_constraint и поочередно добавляем атрибуты:

android:textSize="32sp"

Android XML: Отображение текста - TextView

 

android:textColor="#0000FF"

Android XML: Отображение текста - TextView

 

android:textStyle="bold"

Android XML: Отображение текста - TextView

 

Основные значения атрибуты гравити это 

  • android:gravity="center_vertical": Устанавливает текст вертикально по центру TextView
  • android:gravity="center_horizontal": Устанавливает текст горизонтально по центру TextView
  • android:gravity="start": Устанавливает текст к левой границе
  • android:gravity="end": Устанавливает текст к правой границе

Можно применять несколько параметров gravity. Для этого необходимо перечислить их при помощи символа |.  Также для более детального понимания как работает gravity нам также придётся задать жёсткие размеры и фон для TextView. И выглядит это вот так:

 Задаем параметры :

android:layout_width="300dp"
android:layout_height="300dp"
android:gravity="center_vertical|end"
android:background="#D3A54A"

и выглядит это вот так:

Android XML: Отображение текста - TextView


При помощи фона мы видим границы нашего TextView. Также мы видим что наш текст отцентрирован вертикально и привязан к правой границе.


android:lines и android:ellipsize

2 атрибута работающие в паре. lines задаст сколько строк TextView отрисует а ellipsize - поведение в случае длинного текста который не влезет.  Я буду использовать ellipsize="end" который автоматически добавит троеточие в конце текста. 

И выглядит это вот так:

Android XML: Отображение текста - TextView

 

Мы рассмотрели основные атрибуты, которые используют в TextView. В следующем уроке мы рассмотрим EditText - элемент для ввода текста с клавиатуры

 


Нужна помощь? Спросите в нашем Телеграмм канале - Start-Develop RU / Start-Develop EN