android desion包版本,Android design包 TabLayout

本文记录了Android 5.0配合ViewPager的使用方法。先介绍在xml文件和activity里的基本操作,包括初始化控件、新建fragment和adapter等,还给出了adapter代码示例。接着展示activity代码,实现ViewPager与TabLayout建立联系,最后说明可通过在xml文件添加代码优化效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值