Как ограничить вид представлением в другом файле макета? - PullRequest
0 голосов
/ 16 января 2020

Мое приложение использует tabLayout, который определен в макете main_activity. Затем у меня есть отдельный файл макета для каждой вкладки, чтобы разместить все представления для этой вкладки.

В файлах макетов вкладок я бы хотел ограничить вид нижним краем вкладок. Я не знаю, как это сделать, так как tabLayout определен в другом файле макета, и у него нет фиксированной высоты (и я на самом деле этого не хочу), поэтому я не могу просто использовать то же измерение в файле макета вкладки.

Я видел, что есть тег, который можно использовать для извлечения контента из других макетов, но это не так, мне не нужен весь макет, чтобы продублированный во вкладке, мне нужно знать его высоту.

Вот мой макет main_activity, который содержит tabLayout.

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/backgroundColour"
    tools:context=".MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="?attr/actionBarSize"
        android:theme="?attr/actionBarTheme"
        app:layout_constraintTop_toTopOf="parent"/>

    <android.support.design.widget.TabLayout
        android:id="@+id/tabMenu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"     
        app:layout_constraintTop_toBottomOf="@id/toolbar">

        <android.support.design.widget.TabItem
            android:id="@+id/CostTab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/cost" />

        <android.support.design.widget.TabItem
            android:id="@+id/costTab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/distance" />

    </android.support.design.widget.TabLayout>


    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toBottomOf="@id/tabMenu"
        />

</android.support.constraint.ConstraintLayout>

1 Ответ

0 голосов
/ 16 января 2020

Вы должны заполнить адаптер для ViewPager Фрагментами для каждой имеющейся вкладки или использовать простые представления в качестве элементов адаптера. Вы можете найти больше информации в руководстве разработчика здесь: https://developer.android.com/guide/navigation/navigation-swipe-view

...