TabLayout + ViewPager + Fragment 实现动态框架
2016-11-22 21:16
621 查看
TabLayout + ViewPager + Fragment 实现动态框架
先看一下效果图
相信大家RadioGroup+ViewPager或者FragmentTabHost+ViewPager
的实现方式大家都知道了,关于这个TabLayout+ViewPager
我只想说太他妈容易实现我们想要的效果了
使用之前要说的:需要导入依赖,
compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile files('libs/butterknife-7.0.0.jar')
三个Fragment 格式一样,这里我就放一个吧
package com.oblivion.tablayout.fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; /** * github : https://github.com/oblivion0001/AndroidStudioProjects * Blog : http://blog.csdn.net/qq_16666847 * Created by oblivion on 2016/11/22. */ public class HomeFragment extends Fragment { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { TextView tv = new TextView(getContext()); tv.setText(getClass().getSimpleName()); tv.setGravity(Gravity.CENTER); return tv; } }
为了方便使用Fragment我创建了简单的Fragment工厂
package com.oblivion.tablayout.fragmentfactory; import android.support.v4.app.Fragment; import com.oblivion.tablayout.fragment.AppFragment; import com.oblivion.tablayout.fragment.HomeFragment; import com.oblivion.tablayout.fragment.PlayFragment; /** * github : https://github.com/oblivion0001/AndroidStudioProjects * Blog : http://blog.csdn.net/qq_16666847 * Created by oblivion on 2016/11/22. */ public class FragmentFactory { public static Fragment getFragment(int position) { Fragment fragment = null; switch (position) { case 0: fragment = new HomeFragment(); break; case 1: fragment = new AppFragment(); break; case 2: fragment = new PlayFragment(); break; } return fragment; } }
接下来就是我们的实现拉
package com.oblivion.tablayout; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import com.oblivion.tablayout.fragmentfactory.FragmentFactory; import butterknife.Bind; import butterknife.ButterKnife; public class MainActivity extends FragmentActivity { @Bind(R.id.tab) TabLayout tab; @Bind(R.id.viewpager) ViewPager viewpager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); viewpager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tab)); tab.setupWithViewPager(viewpager); setAdapter(); } private void setAdapter() { viewpager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { return FragmentFactory.getFragment(position); } @Override public int getCount() { return 3; } @Override public CharSequence getPageTitle(int position) { String[] str = new String[]{"首页", "应用", c125 "游戏"}; return str[position]; } }); } }
是不是很简单源码地址
相关文章推荐
- Android应用ViewPager和TabLayout动态加载Fragment,并实现view和tab动态刷新。
- Fragment嵌套Fragment, TabLayout + ViewPager实现页面切换滑动
- TabLayout、ViewPager和Fragment实现选项卡界面切换
- Android TabLayout+ViewPager+Fragment简单实现
- 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
- 利用TabLayout(5.0新技术)+ViewPager+Fragment方法实现书签导航
- 利用TabLayout+ViewPager+Fragment实现可滚动的Tab页面
- TabLayout,ViewPager,Fragment,实现联动
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab
- ViewPager+Fragment实现TabHost,Fragment动态添加、删除,Tab选项卡跟随滑动
- Tablayout+Viewpager+Fragment实现滑动Tab及cannot convert from Fragment1 to Fragment之解决
- TabLayout+Fragment+ViewPager+FragmentStatePagerAdapter实现Tab标签
- 4.8.3 在 一个 Fragment 里面实现ViewPager 和TabLayout 进行联动
- 手把手教你TabLayout、ViewPager、Fragment实现顶部导航
- 使用TabLayout+ViewPager+Fragment+DataBing实现仿网易新闻主界面效果
- SmartTabLayout+PtrFrameLayout+ViewPager+Fragment简单实现
- TabLayout+TabItem+ViewPager+Fragment实现早期微信屏幕滑动效果
- Android框架之路——Tablayout+ViewPager+Fragment的使用
- 实现TabLayout+ViewPager+Fragment头目的联动模式
- 使用FragmentTabHost+TabLayout+ViewPager实现双层嵌套Tab