Прежде чем перейти к следующему уроку, мы хотим обратить Ваше внимание на новый вид макета в Android Studio — макет-ограничитель или ConstraintLayout. Вам придется немного изменить свой код, в следующих уроках мы покажем, как именно.
Держим нос по ветру
Google постоянно совершенствует платформу Андроид и добавляет новые возможности. Они облегчают жизнь разработчиков, но усложняют процесс обучения. Недавно Google разработал ConstraintLayout, этот инструмент позволяет быстро создавать отзывчивый интерфейс с большим количеством компонентов. Такой козырь неплохо держать в рукаве, но в нашем курсе мы предпочли более традиционные макеты — относительный и линейный.
Мы упомянули об этом, потому что новые шаблоны проектов в Android Studio используют макет-ограничитель по умолчанию, из-за чего код у Вас на экране может отличаться от нашего.
Файл макета по умолчанию
В последних версиях Android Studio при выборе шаблона Empty Activity файл макета app/src/main/res/layout/activity_main.xml выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.udacity.myapplication.MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintLeft_toLeftOf="@+id/activity_main"
app:layout_constraintTop_toTopOf="@+id/activity_main"
app:layout_constraintRight_toRightOf="@+id/activity_main"
app:layout_constraintBottom_toBottomOf="@+id/activity_main" />
</android.support.constraint.ConstraintLayout>
Как видите, тут использован ConstraintLayout, в котором положение TextView зафиксировано ограничителями.
Меняем файл макета
В отличие от приведенного выше примера кода, в наших уроках код по умолчанию выглядит так, как в следующем примере — с корневым элементом RelativeLayout.
<??xml version="1.0" encoding="utf-8"?>
<?RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.udacity.myapplication.MainActivity">
<?TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<?/RelativeLayout>
При создании нового проекта, откройте файл app/src/main/res/layout/activity_main.xml и вставьте в него этот код. Теперь можно работать!
Если хотите основательно изучить новые возможности макета ConstraintLayout, почитайте документацию на сайте.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ