ScrollView + ViewPager(RecyclerView) + Tablayout(吸顶),一个滑动的布局中间有个tablayout 下面是ViewPager,tablayout滑动到顶部的时候可以吸顶,求大神demo 或者方法,重谢~
你看看这个效果,上部需要加东西可以看懂demo后自行加一些
直接上代码,亲测可用
<?xml version="1.0" encoding="utf-8"?>
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<include layout="@layout/tilte"></include>
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="com.yihui.wealthe.widgets.FlingBehavior"
android:fitsSystemWindows="true">
<LinearLayout
app:layout_scrollFlags="scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<!--这里放顶部的view-->
</LinearLayout>
</android.support.design.widget.AppBarLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@color/white"
android:padding="5dp"
app:tabIndicatorColor="@color/red"
app:tabIndicatorHeight="1dp"
app:tabSelectedTextColor="@color/red"
app:tabTextColor="@color/black_87" />
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
有问题反馈,谢谢。如果好用请给个赞,老铁的支持是我前进的动力
CoordinatorLayout 除外
我是用两个tablayout,scrollview 内一个,scrollview外一个,外面的初始隐藏,通过监听判断scrollview 滑动距离,控制外面tablayout显示隐藏,效果一样的
int[] top1 = new int[2];
int[] top2 = new int[2];
tablayout.getLocationOnScreen(top1);
hideTabLayout.getLocationOnScreen(top2);
if (top2[1] >= top1[1]) {
hideTabLayout.setVisibility(View.VISIBLE);
tabLine.setVisibility(View.VISIBLE);
topIsVisibility = true;
} else {
hideTabLayout.setVisibility(View.GONE);
tabLine.setVisibility(View.GONE);
topIsVisibility = false;
}
滑动监听里,我是这么判断的
类似这种效果吗?
你要的是这种效果吧 这个就是Scrollview加tablayout加viewpager