package uu.bawei.com.tablayout; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private String[] titleArr=new String[]{"房产","足球","娱乐","体育","财经"}; private List<Fragment> fragmentList=new ArrayList<>(); private TabLayout tabLayout; private ViewPager viewPage; private HomeTitleAdater homeTitleAdater; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //得到控件 tabLayout = (TabLayout) findViewById(R.id.tablayout); viewPage = (ViewPager) findViewById(R.id.viewpager); //将fragment存入集合中 inflateData(); //将fragment添加给viewpager homeTitleAdater = new HomeTitleAdater(getSupportFragmentManager(),this,fragmentList,titleArr); //设置适配器 viewPage.setAdapter(homeTitleAdater); //将viewpager给tabLayout tabLayout.setupWithViewPager(viewPage); viewPage.setOffscreenPageLimit(3); //设置标题的显示模式 tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); } public void inflateData() { for (int i=0;i<titleArr.length;i++) { HomeFragment home_fragment_message = new HomeFragment(); fragmentList.add(home_fragment_message); } }
}
//适配器
package uu.bawei.com.tablayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import java.util.List; /** * Created by Administrator on 2017/2/12. */ public class HomeTitleAdater extends FragmentPagerAdapter { private final FragmentManager fragmentManager; private final MainActivity h_fragment; private final List<Fragment> fragmentList; private final String[] titleArr; public HomeTitleAdater(FragmentManager fragmentManager, MainActivity h_fragment, List<Fragment> fragmentList, String[] titleArr) { super(fragmentManager); this.fragmentManager = fragmentManager; this.h_fragment = h_fragment; this.fragmentList = fragmentList; this.titleArr = titleArr; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); } @Override public CharSequence getPageTitle(int position) { return titleArr[position]; } }
转载请注明原文地址: https://ju.6miu.com/read-24037.html