安卓界面之Viewpager和Tablayout实现滑动界面
生活随笔
收集整理的這篇文章主要介紹了
安卓界面之Viewpager和Tablayout实现滑动界面
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
摘要:六部實現選項卡界面
?
一.
在gradle文件添加以下代碼:
implementation 'com.android.support:design:28.0.0'?在gradle文件添加以上代碼后,才能使用Tablayout(版本號28.0.0是我做實驗時最新的版本)
?
二.布局代碼
<android.support.design.widget.TabLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"app:tabMaxWidth="0dp"app:tabGravity="fill"app:tabMode="fixed"android:id="@+id/tablayout_id"android:textAlignment="center"app:tabSelectedTextColor="@color/tabindicatorcolor"app:tabTextColor="@color/tabtextcolor"app:tabIndicatorColor="@color/tabindicatorcolor"android:background="@color/colorPrimary"/><android.support.v4.view.ViewPagerandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/viewpager_id"></android.support.v4.view.ViewPager>?
三.在res/layout目錄下自定義xml文件作為fragment中的選項界面
action_fragment.xml和mark_fragment.xml分別為"行動","統計"選項卡界面
?
四.新建多個繼承Fragment的子類返回選項界面
FragmentAction.java public class FramentAction extends Fragment {public FramentAction() {}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view=inflater.inflate(R.layout.action_fragment,container,false);return view;} }?FragmentMark.java
public class FragmentMark extends Fragment {public FragmentMark() {}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {View view=inflater.inflate(R.layout.mark_fragment,container,false);return view;}}?
五.自定義繼承FragmentPagerAdapter的子類ViewPagerAdater,重寫getItem(),getCount(),getPageTitle()方法,添加AddFragment()方法
public class ViewPagerAdaper extends FragmentPagerAdapter {private final List<Fragment> fragmentList=new ArrayList<>();private final List<String> fragementListTitle=new ArrayList<>();public ViewPagerAdaper(FragmentManager fm) {super(fm);}@Overridepublic Fragment getItem(int i) {return fragmentList.get(i);}@Overridepublic int getCount() {return fragementListTitle.size();}@Nullable@Overridepublic CharSequence getPageTitle(int position) {return fragementListTitle.get(position);}public void AddFragemnt(Fragment fragment,String title){fragmentList.add(fragment);fragementListTitle.add(title);} }?
六.在MainActivity.java中實現以下代碼:
tabLayout=findViewById(R.id.tablayout_id);viewPager=findViewById(R.id.viewpager_id);ViewPagerAdaper mAdaper=new ViewPagerAdaper(getSupportFragmentManager());mAdaper.AddFragemnt(new FramentAction(),"行動");mAdaper.AddFragemnt(new FragmentMark(),"統計");viewPager.setAdapter(mAdaper);tabLayout.setupWithViewPager(viewPager);?
轉載于:https://www.cnblogs.com/adressian/p/10224342.html
總結
以上是生活随笔為你收集整理的安卓界面之Viewpager和Tablayout实现滑动界面的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 让你的Mac电脑高效起来,推荐几个yyd
- 下一篇: 数据统计告诉你,程序员是不是35岁就退休