Вкладки Android и CoordinatorLayout, необходимо добавить строку textViews - PullRequest
0 голосов
/ 13 октября 2019

Android Studio 3.5.1. Работа с шаблоном с вкладками. Я действительно не понимаю, что такое CoordinatorLayout.

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ChecklistActivity">

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <com.google.android.material.tabs.TabLayout
            android:id="@+id/tabs"
            app:tabMode="scrollable"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary" />
    </com.google.android.material.appbar.AppBarLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

Это прекрасно работает. Использование вкладок с ListView на каждой вкладке и т. Д.

Но в нижней части экрана я хочу добавить строку TextViews, которые содержат различную информацию о состоянии. (например, Время с начала, Счет и т. д.) Поэтому я поместил LinearLayout внизу XML. И добавил несколько TextViews. Это отображается в режиме просмотра в студии. Но в ТОПе. Но когда я запускаю приложение на своем телефоне, я его нигде не вижу.

Android Studio Design Mode

Короче говоря, как мне работать с этим XML(CoordinatorLayout), чтобы добавить такую ​​«строку состояния» в мое представление внизу экрана?

1 Ответ

1 голос
/ 05 ноября 2019

Используйте RelativeLayout как первый дочерний элемент внутри CoordinatorLayout. Имейте свойство android:layout_height="wrap_content" и android:layout_alignParentBottom="true" до TextViews. Остальные, то есть ViewPager и TabLayout могут оставаться такими, как есть.


<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ChecklistActivity">

    <!-- You could even use a ScrollView    -->
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay">

            <com.google.android.material.tabs.TabLayout
                android:id="@+id/tabs"
                app:tabMode="scrollable"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="?attr/colorPrimary" />
        </com.google.android.material.appbar.AppBarLayout>

        <androidx.viewpager.widget.ViewPager
            android:id="@+id/view_pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_above="@id/lilayTextViews"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

        <LinearLayout
            android:id="@+id/lilayTextViews"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal">

            <!-- TextViews go here  -->

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Text 1"/>

        </LinearLayout>
    </RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...