Tablayout+viewpager2 实现位于页面上方悬浮的透明顶部栏 背景: 使用tablayout+viewpager2实现顶部导航栏,大多博客使用的包裹 和
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="48dp" //菜单高度
android:background="#1FBCD2" //菜单条的背景
app:tabIndicatorColor="#ff0000" //菜单指示器的颜色
app:tabMode="scrollable" //菜单可以滚动
app:tabPaddingEnd="20dp"
app:tabPaddingStart="20dp" //菜单之间的间距
app:tabSelectedTextColor="#FFFFFF" //菜单选中时的颜色
app:tabTextColor="#000000"> //菜单未选中时的颜色
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/vp_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
这样的顶部栏是和viewpager页面分开的 如果想实现下面效果 将tablayout透明悬浮在viewpager上,应该这样布局:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/trans"
app:tabTextColor="@color/white">
</com.google.android.material.tabs.TabLayout>
</RelativeLayout>
使用相对布局,将tablayout背景设为透明,将viewpager放在tablayout上方即可
|