Android activity+fragment+viewpager滑動頁面實現之TabLayout
阿新 • • 發佈:2019-02-07
build.gradle新增依賴
compile('com.android.support:design:25.1.1') {
force = true
}
新增依賴之後如果有報錯。可參考
MyFragmentAdapter
public class MyFragmentAdapter extends FragmentPagerAdapter { private List<Fragment> fragmentList; private List<String> titleList; public MyFragmentAdapter(FragmentManager fragmentManager, List<Fragment> fragmentList, List<String> titleList) { super(fragmentManager); this.fragmentList = fragmentList; this.titleList = titleList; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return titleList.size(); } @Override public CharSequence getPageTitle(int position) { return titleList.get(position % titleList.size()); } @Override public int getItemPosition(Object object) { return POSITION_NONE; } }
MyFragment,MytwoFragment,ThreeFragment
import android.support.v4.app.Fragment;//主要是v4的fragment public class MyFragment extends Fragment{ protected View contentView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { contentView = inflater.inflate(R.layout.my_fragment, container, false); initViews(); return contentView; } public void initViews(){ TextView textView =(TextView)contentView.findViewById(R.id.myte11); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(getContext(),"ssss",Toast.LENGTH_SHORT).show(); } }); } }
Activityfragment
public class Activityfragment extends FragmentActivity { TabLayout tabLayout; ViewPager viewPagerl; private List<Fragment> fragmentList; private List<String> titleList; MyFragment onef; MytwoFragment twof; ThreeFragment threef; private MyFragmentAdapter adapter; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.activityfragment); tabLayout =(TabLayout)findViewById(R.id.activity_esui_tab_layout); viewPagerl =(ViewPager)findViewById(R.id.activity_esui_viewPager); initViewPager(); // switchContent(); } private void initViewPager() { onef = new MyFragment(); twof = new MytwoFragment(); threef = new ThreeFragment(); fragmentList = new ArrayList<>(); fragmentList.add(onef); fragmentList.add(twof); fragmentList.add(threef); titleList = new ArrayList<>(); titleList.add("會話"); titleList.add("群聊"); titleList.add("通訊錄"); tabLayout.setTabMode(TabLayout.MODE_FIXED);//不可以輪動 tabLayout.addTab(tabLayout.newTab().setText(titleList.get(0))); tabLayout.addTab(tabLayout.newTab().setText(titleList.get(1))); tabLayout.addTab(tabLayout.newTab().setText(titleList.get(2))); adapter = new MyFragmentAdapter(getSupportFragmentManager(), fragmentList, titleList); viewPagerl.setAdapter(adapter); // activityMyCrowdFundingViewPager.setOffscreenPageLimit(11); tabLayout.setupWithViewPager(viewPagerl); } }
還有配置theme
<activity android:name=".evbs.Activityfragment"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
</activity>