Для простого вывода текста на экран предназначен элемент TextView. Он просто отображает текст без возможности его редактирования. Некоторые его основные атрибуты:
android:text: устанавливает текст элемента
android:textSize: устанавливает высоту текста, в качестве единиц измерения для указания высоты используются sp
android:background: задает фоновый цвет элемента в виде цвета в шестнадцатиричной записи или в виде цветового ресурса
android:textColor: задает цвет текста
android:textAllCaps: при значении true делает все символы в тексте заглавными
android:textDirection: устанавливает направление текста. По умолчанию используется направление слева направо, но с помощью значения rtl можно установить направление справо налево
android:textAlignment: задает выравнивание текста. Может принимать следующие значения:
center
: выравнивание по центру
textStart
: по левому краю
textEnd
: по правому краю
viewStart
: при направлении текста слева направо выравнивание по левому краю, при направлении справа налево - по правому
viewEnd
: при направлении текста слева направо выравнивание по правому краю, при направлении справа налево - по левому
android:fontFamily: устанавливает тип шрифта. Может принимать следующие значения:
monospace
serif
serif-monospace
sans-serif
sans-serif-condensed
sans-serif-smallcaps
sans-serif-light
casual
cursive
cursive
Например, определим три текстовых поля:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_height="wrap_content" android:layout_width="0dp" android:layout_margin="10dp" android:text="Hello Android " android:fontFamily="sans-serif" android:textSize="26sp" android:background="#ffebee" android:textColor="#f44336" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintRight_toRightOf="parent"/> <TextView android:layout_height="wrap_content" android:layout_width="0dp" android:layout_margin="10dp" android:text="Hello Java" android:textAllCaps="true" android:textSize="26sp" android:background="#ede7f6" android:textColor="#7e57c2" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toRightOf="parent"/> <TextView android:layout_height="wrap_content" android:layout_width="0dp" android:layout_margin="10dp" android:text="Hello World" android:textAlignment="textEnd" android:textSize="26sp" android:background="#e8eaf6" android:textColor="#5c6bc0" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintRight_toRightOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout>
Установка элемента в коде тоже не отличается сложностью. Например, создадим элемент и выведем его на экран:
package com.example.viewapp; import androidx.appcompat.app.AppCompatActivity; import androidx.constraintlayout.widget.ConstraintLayout; import android.graphics.Typeface; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ConstraintLayout constraintLayout = new ConstraintLayout(this); TextView textView = new TextView(this); // установка фонового цвета textView.setBackgroundColor(0xffe8eaf6); // установка цвета текста textView.setTextColor(0xff5c6bc0); // делаем все буквы заглавными textView.setAllCaps(true); // устанавливаем вравнивание текста по центру textView.setTextAlignment(TextView.TEXT_ALIGNMENT_CENTER); // устанавливаем текста textView.setText("Hello Android!"); // установка шрифта textView.setTypeface(Typeface.create("casual", Typeface.NORMAL)); // устанавливаем высоту текста textView.setTextSize(26); ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams (ConstraintLayout.LayoutParams.WRAP_CONTENT, ConstraintLayout.LayoutParams.WRAP_CONTENT); layoutParams.leftToLeft = ConstraintLayout.LayoutParams.PARENT_ID; layoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID; textView.setLayoutParams(layoutParams); constraintLayout.addView(textView); setContentView(constraintLayout); } }
Иногда необходимо вывести на экран какую-нибудь ссылку, либо телефон, по нажатию на которые производилось бы определенное действие. Для этого в TextView определен атрибут android:autoLink:
<TextView android:text="Посетите сайт https://metanit.com" android:textSize="21sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="web|email" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent"/>
android:autoLink может принимать несколько значений:
none
: отключает все ссылки
web
: включает все веб-ссылки
email
: включает ссылки на электронные адреса
phone
: включает ссылки на номера телефонов
map
: включает ссылки на карту
all
: включает все вышеперечисленные ссылки
То есть при настройке android:autoLink="web" если в тексте есть упоминание адреса url, то этот адрес будет выделяться, а при нажатии на него
будет осуществлен переход к веб-браузеру, который откроет страницу по этому адресу. С помощью прямой черты мы можем объединять условия, как в данном случае:
android:autoLink="web|email"