TabLayout+TabItem+ViewPager+Fragment实现早期微信屏幕滑动效果
2016-10-27 18:01
645 查看
效果图
layout_main.xml
主要用了TabLayout TabItem Viewpager 其中 Tablayout 就是 上面的导航布局, TabItem 为其中的Item ViewPager用来承载 Fragment NestedScrollView 可滑动的View 相当于ScrollView
<LinearLayout 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:id="@+id/activity_main" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" tools:context="com.example.msh.androidl.MainActivity"> <android.support.design.widget.TabLayout android:id="@+id/toolbar_tab" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="#ffffff" android:fillViewport="false" app:tabIndicatorColor="#0835f8" app:tabIndicatorHeight="2.0dp" app:tabSelectedTextColor="#0835f8" app:tabTextColor="#ced0d3"> <android.support.design.widget.TabItem android:layout_width="match_parent" android:layout_height="match_parent" android:text="马世豪" /> <android.support.design.widget.TabItem android:layout_width="match_parent" android:layout_height="match_parent" android:text="马世豪" /> <android.support.design.widget.TabItem android:layout_width="match_parent" android:layout_height="match_parent" android:text="马世豪" /> <android.support.design.widget.TabItem android:layout_width="match_parent" android:layout_height="match_parent" android:text="马世豪" /> <android.support.design.widget.TabItem android:layout_width="match_parent" android:layout_height="match_parent" android:text="马世豪" /> </android.support.design.widget.TabLayout> <android.support.v4.widget.NestedScrollView android:id="@+id/nsv" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" android:fillViewport="true" android:scrollbars="none"> <android.support.v4.view.ViewPager android:id="@+id/main_vp_container" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.NestedScrollView> </LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity { private TabLayout toolbar_tab; private ViewPager main_vp_container; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); toolbar_tab = (TabLayout) findViewById(R.id.toolbar_tab); main_vp_container = (ViewPager) findViewById(R.id.main_vp_container); ViewPagerAdapter vpAdapter = new ViewPagerAdapter(getSupportFragmentManager(), this);; main_vp_container.setAdapter(vpAdapter); // tablayout和viewpager建立相互的联系 main_vp_container.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(toolbar_tab)); toolbar_tab.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(main_vp_container)); // 为什么不用下面这个方法呢? // toolbar_tab.setupWithViewPager(main_vp_container); } }
为什么不用 setupWithViewPager();
请移步— > http://www.jianshu.com/p/896b149aaa43
源码下载
相关文章推荐
- TabLayout+ViewPager+Fragment实现分页滑动效果
- Android进阶之利用Tablayout+ViewPager+Fragment实现神奇的滑动效果
- TabLayout 和ViewPager和Fragment的多页面滑动(主要实现一个水平的布局用来展示Tabs加上ViewPager实现联动效果)
- TabLayout+ViewPager+Fragment实现顶部滑动效果
- Android使用TabLayou+fragment+viewpager实现滑动切换页面效果
- android之TabLayout实现PagerSlidingTabStrip,ViewpagerIndicator之类的效果滑动页面导航效果(类似网易新闻)
- Android ViewPager和Fragment实现仿微信导航界面及滑动效果
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- ViewPager+Fragment+TabLayout实现的头部滑动
- ViewPager,TabLayout,Fragment实现tabs滑动
- Tablayout+Viewpager+Fragment实现滑动Tab及cannot convert from Fragment1 to Fragment之解决
- Android 导航条效果实现(六) TabLayout+ViewPager+Fragment
- Material Design :原生TabLayout+viewpaper+fragment实现滑动效果
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- Fragment利用ViewPager实现左右滑动--第三方开源--SlidingTabLayout和SlidingTabStrip实现
- viewpager+fragment的懒加载实现微信点击和滑动切换功能(切换效果)
- 使用TabLayout+ViewPager+Fragment+DataBing实现仿网易新闻主界面效果
- 安卓 TabLayout+ViewPager实现滑动Tab效果
- ViewPager 、TabLayout和Fragment实现标签滑动