android:orientation="vertical" ориентация макета. Бывает "vertical" вертикальная, и "horizontal" горизонтальная.
android:background="@color/cherry" задний фон. На любой макет или элемент можно установить задний фон. Это может быть просто сплошной цвет, который взят из базы цветов в разделе color ("@color/cherry"), или прописан кодом ("#D12B68"), а также это может быть любая картинка ("@drawable/print", "@mipmap/print").
android:gravity="center" гравитация. Определяет местоположение текста внутри элемента, в данном примере по центру.
android:layout_gravity="center_horizontal" определяет местоположение элемента внутри контейнера. Так же, как и android:gravity может быть разных видов: "top" сверху, "bottom" снизу, "left" слева, "right" справа.
android:text="@string/text" данный параметр используется чаще всего для текстовых элементов или кнопок, которые содержат в себе надписи, подписи, тексты.
android:paddingTop="10dp" параметр, который используется для отступа содержимого элемента внутри этого самого элемента сверху, значение может быть любое.
android:paddingBottom="10dp" отступ снизу.
android:paddingLeft="10dp" отступ слева.
android:paddingRight="10dp" отступ справа.
android:padding="20dp" используется для равномерного отступа со всех сторон.
android:layout_marginTop="15dp" в отличие от предыдущего, данный параметр используется для отступа элемента внутри контейнера, либо для отступа от соседнего элемента, так же может быть сверху (layout_marginTop), снизу (layout_marginBottom), слева (layout_marginLeft) и справа (layout_marginRight). Значение в dp может быть любое.
android:layout_margin="25dp" используется для равномерного отступа со всех сторон.
style="@style/MyTextStyle" если приложение содержит в себе множество элементов с одинаковыми параметрами, гораздо удобнее создать стиль, указав его для элемента. Так и код смотрится более читабельно, и, если будет необходимость что-то в этих параметрах изменить изменять придётся только в одном месте, а не в 10, 20, 50 и более элементах.
Конечно, это лишь малая часть из всех существующих параметров, но это самые наиболее часто используемые и нужные. Более подробно мы ещё будем их рассматривать на практике в последующих главах.
Шпаргалка 4. Текстовое поле.
Ни одно приложение не обходится без текста, каких-либо надписей, подписей, информации о приложении, в некоторых случаях даже ввода текста самим пользователем. За всё это отвечает текстовое поле. Об этом и поговорим.
Текстовые поля в редакторе бывают двух видов TextView и EditText.
TextView элемент, содержащий в себе определённое количество любого текста и предназначен он только для его просмотра, без возможности редактирования пользователем.
EditText это также текстовое поле, но уже с возможностью ввода или редактирования текста.
Добавляем текстовое поле в приложение:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
По умолчанию только что созданное текстовое поле всегда имеет только два параметра, ширину и высоту.
В первую очередь нужно задать имя, для этого добавляем строку:
android:id="@+id/tv1"
Назовем его, например, tv1. Но в Вашем случае название может быть каким угодно, главное, чтобы оно было, и Вы могли к нему обратиться в случае необходимости.
Назовем его, например, tv1. Но в Вашем случае название может быть каким угодно, главное, чтобы оно было, и Вы могли к нему обратиться в случае необходимости.
Определяемся с текстом, допустим, это будет что-то приветственное, «Добро пожаловать!»
В ресурсах ищем файл strings.xml, там хранятся все строковые ресурсы, используемые в приложении, создаём строку:
<stringname="str1">Добро пожаловать!</string>
Добавляем текст в наше поле:
android:text="@string/str1"
Чтобы текст на экране мобильного телефона выглядел красиво и приятно читался, необходимо прописать параметры, которые его улучшат, так как Android Studio по умолчанию предлагает стандартный вид.
Задаём размер текста:
android:textSize="35sp" Цифра может быть любой, начиная с единицы.
А чтобы текст не был БОЛЬШИМИ БУКВАМИ, добавим следующий параметр:
android:textAllCaps="false"
Можно поменять цвет текста. Допустим, мы хотим сделать его голубым. Для этого переходим в ресурсы, открываем вкладку colors.xml и добавляем строку:
<colorname="blue">#1E88E5</color>
Возвращаемся к нашему текстовому полю и добавляем строку:
android:textColor="@color/blue"
Теперь поместим наше текстовое поле на середину экрана, для этого добавим строку в параметры макета:
android:gravity="center"
И строку в параметры элемента:
android:gravity="center"
android:layout_gravity="center"
Таким образом мы получили приветственный экран нашего приложения. Пользователь увидит его, как только приложение загрузится. Вот его полный код:
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str1"
android:textColor="@color/blue"
android:textSize="35sp"
android:textAllCaps="false"
android:gravity="center"
android:layout_gravity="center"/>
Но, давайте рассмотрим ещё вариант текстового поля EditText, в которое можно что-то вписывать, например имя.
Добавим такое поле чуть ниже.
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Ширину установим "match_parent" то есть на всю ширину макета, а высоту оставим по количеству контента. Теперь в это поле пользователь может ввести своё имя.
Но, как же он узнает, что туда нужно вводить, если мы ему об этом не подскажем? Да и вообще, поле выглядит как обычная полоса, совсем не похоже, что это текстовое поле. И оно как бы «прилипает» к первому приветственному полю, что совсем не красиво смотрится. Давайте это исправим. Для начала сделаем отступы:
android:layout_margin="40dp"
А затем сделаем для пользователя подсказку. В строковый ресурс добавим:
<stringname="str2">Введите своё имя</string>
А в текстовое поле :
android:hint="@string/str2"
И выравнивание текста посередине:
android:gravity="center"
Итого, мы получили:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="40dp"
android:hint="@string/str2"
android:gravity="center"/>
Теперь пользователь может ввести своё имя. Подобным образом можно делать поля для ввода текста, цифр, номера телефона, логина, пароля и прочее.