android desion包版本,Android design包 TabLayout

android desion包版本,Android design包 TabLayoutandroid 5 0 的新特性 主要是配合 ViewPager 来使用 很多项目中都会用到这个东西 我就简单来记录一下 先写基本用吗 xml 文件里面 然后在 activity 里面初始化控件 然后就是需要新建 fragment 新建一个 adapter 先上一个简单 adapter 的代码 private

大家好,我是讯享网,很高兴认识大家。

android 5.0 的新特性 主要是配合ViewPager来使用,很多项目中都会用到这个东西,我就简单来记录一下。

先写基本用吗 xml文件里面

然后在activity里面初始化控件,然后就是需要新建fragment 新建一个adapter,先上一个简单adapter的代码

private ArrayListmArrayList;//存放fragment的集合

private ArrayListmStrings;//存放标题的集合

public MyVpAdapter(FragmentManager fm, ArrayListmArrayList, ArrayListmStrings) {

super(fm);

this.mArrayList = mArrayList;

this.mStrings = mStrings;

}

@Override

public Fragment getItem(int position) {

return mArrayList.get(position);

}

@Override

public int getCount() {

return mArrayList == null ? 0 : mArrayList.size();//判空

}

@Override

public CharSequence getPageTitle(int position) {

return mStrings.get(position);//获取对应的标题,然后赋值给对应的tablaout

fragment就是简单的继承一下fragment就可以了,然后填充一下布局,就没那么简单 代码不上了,然后就是activity的代码。

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mTabLayout = (TabLayout) findViewById(R.id.tab);

mViewPager = (ViewPager) findViewById(R.id.vp);

mStringArrayList = new ArrayList<>();

mFragmentArrayList = new ArrayList<>();

for (int i = 0; i < count; i++) {//造假数据


讯享网

int pages = i + 1;

mStringArrayList.add("页面=----->" + pages);

}

for (int i = 0; i < mStringArrayList.size(); i++) {//把fragment添加到集合中

Fragment fragment = new TestFragment();

Bundle bundle = new Bundle();

bundle.putString("key", mStringArrayList.get(i));

fragment.setArguments(bundle);

mFragmentArrayList.add(fragment);

}

MyVpAdapter myVpAdapter = new MyVpAdapter(getSupportFragmentManager(), mFragmentArrayList, mStringArrayList);

mViewPager.setAdapter(myVpAdapter);//给viewpager添加适配器

mTabLayout.setupWithViewPager(mViewPager);//tablayout和viewpager建立联系,,这个很重要

mTabLayout.setSelectedTabIndicatorHeight(2);//设置tablayout底部滑标的高度

mTabLayout.setSelectedTabIndicatorColor(Color.YELLOW);//设置滑标颜色 现在是黄色

// for (int i = 0; i < mTabLayout.getTabCount(); i++) {

// TabLayout.Tab tb = mTabLayout.getTabAt(i);//获取对应位置的tab

// tb.setIcon(R.mipmap.ic_launcher);//设置tab的图标

// }

//设置标题的正常颜色和选择颜色

mTabLayout.setTabTextColors(Color.GREEN, Color.RED);

//设置标题的背景色

// mTabLayout.setBackgroundColor(Color.MAGENTA);

}

53f6ca9c1112e8f98e1375824a4158a8.png

效果图.png

是不是感觉很丑 并不是我们想要的那种效果,那么就在xml文件的tablyout里面添加一行代码

6051e1efafdd933b87fc163588663f4d.png

效果图2.png

是不是好看多了 , 没那么丑了。还可以设置图片加文字 或者单纯的图片,注释掉的代码放开后,你就会发现是图片加文字的效果了。

这里写的是一些简单的使用,基本上能够满足使用,骚操作的话问百度吧。

小讯
上一篇 2025-03-23 23:53
下一篇 2025-01-08 12:13

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/31828.html