首页 > 解决方案 > 如何使 AppCompatActivity 活动可滑动并包含应用栏?

问题描述

我一共有三个活动类型AppCompatActivity。在每个活动的 xml 中,我有以下内容来设置应用栏:

<com.google.android.material.appbar.AppBarLayout
      android:id="@+id/app_bar_layout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:visibility="invisible"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toTopOf="@+id/view">

    <com.google.android.material.tabs.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="invisible"
        app:tabBackground="@android:color/white"
        app:tabGravity="fill"
        app:tabInlineLabel="true"
        app:tabMode="fixed"
        app:tabTextAppearance="@style/CustomTabStyle"
        app:tabTextColor="@android:color/black" />
</com.google.android.material.appbar.AppBarLayout>

我实现了这个应用栏以允许用户通过单击应用栏中的三个按钮之一来更改活动。如果用户更愿意浏览活动,我在每个活动的 xml 中包含以下内容:

<androidx.viewpager2.widget.ViewPager2
      android:id="@+id/view_pager"
      android:layout_width="0dp"
      android:layout_height="0dp"
      android:visibility="invisible"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toBottomOf="@+id/app_bar_layout" />

我现在遇到的问题是我不能使用ViewPager2for AppCompatActivity。它只能用于Fragments,但这不适用于我已有的代码。如何使我的三个活动类型为可AppCompatActivity滑动并在每个活动中包含一个应用栏,以便用户可以单击按钮转到新活动?

标签: androidandroid-activityandroid-appcompatandroid-appbarlayoutandroid-viewpager2

解决方案


推荐阅读