标签活动片段到活动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标签活动片段到活动相关的知识,希望对你有一定的参考价值。
我是Yusuf,我的英语不好,所以我用翻译写这篇文章。我的问题是:我可以在Android Studio中用Tabbed活动切换到另一个片段或活动吗?
答案
你可以使用TabLayout与ViewPager2设置和FragmentPagerAdapter来绑定片段作为子片段。如果需要,我可以进一步帮助你。
布局
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:fitsSystemWindows="true"
android:theme="@style/AppBarOverlay">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="256dp"
android:fitsSystemWindows="true"
auto:contentScrim="?attr/colorPrimary"
auto:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
auto:titleEnabled="false"
tools:ignore="NewApi">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
auto:layout_collapseMode="parallax" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.3"
android:background="@android:color/black"
android:fitsSystemWindows="true"
android:visibility="gone" />
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="top"
android:layout_marginBottom="48dp"
auto:layout_collapseMode="pin"
auto:popupTheme="@style/PopupOverlay" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="?attr/colorPrimary"
auto:tabGravity="fill"
auto:tabIndicatorColor="@android:color/white"
auto:tabMode="scrollable"
auto:tabSelectedTextColor="@android:color/white"
auto:tabTextColor="@color/material_white" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
auto:layout_behavior="@string/appbar_scrolling_view_behavior" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
适配器abstract class BasePagerAdapter(activity: AppCompatActivity) : FragmentStateAdapter(activity) {
protected val items: ArrayList<T>
init {
items = ArrayList()
}
override fun getItemCount(): Int {
return items.size
}
fun addItem(item: T) {
items.add(item)
}
fun getItem(position: Int) : T? = items.get(position)
}
class StationPagerAdapter(activity: AppCompatActivity) : BasePagerAdapter(activity) {。
init {
addItems()
}
override fun createFragment(position: Int): Fragment {
return items.get(position)
}
}
活动中的设置
adapter = StationPagerAdapter(this)
bind.pager.adapter = adapter
TabLayoutMediator(
bind.tabs,
bind.pager,
TabLayoutMediator.TabConfigurationStrategy { tab, position ->
tab.text = adapter.getTitle(position)
}).attach()
以上是关于标签活动片段到活动的主要内容,如果未能解决你的问题,请参考以下文章