当前位置:  开发笔记 > Android > 正文

如何在TabLayout中增加选项卡的图标大小

如何解决《如何在TabLayout中增加选项卡的图标大小》经验,为你挑选了2个好方法。



1> Galeb Nassri..:

嗨我之前遇到过同样的问题,这是我能找到的最佳解决方案:

你应该使用(setCustomView),首先让一个新的布局文件让它命名(customtab.xml):




    

然后为每个选项卡执行以下操作:(使用相同的布局.xml)

View view1 = getLayoutInflater().inflate(R.layout.customtab, null);
view1.findViewById(R.id.icon).setBackgroundResource(R.drawable.my1);
tabLayout.addTab(tabLayout.newTab().setCustomView(view1));


View view2 = getLayoutInflater().inflate(R.layout.customtab, null);
view2.findViewById(R.id.icon).setBackgroundResource(R.drawable.my2);
tabLayout.addTab(tabLayout.newTab().setCustomView(view2));


View view3 = getLayoutInflater().inflate(R.layout.customtab, null);
view3.findViewById(R.id.icon).setBackgroundResource(R.drawable.my3);
tabLayout.addTab(tabLayout.newTab().setCustomView(view3));

...



2> Vadim Caen..:

如文档中所述,您可以使用with创建新布局ImageView,android:id="@android:id/icon"并将其设置为选项卡的自定义视图.TabLayout将自动将图标放在内部ImageView中android:id/icon

然后在您的代码中,您可以setIcon(R.drawable.yourIcon)在创建选项卡时调用它.

然后,您可以在for循环中应用自定义布局:

mTabLayout.addTab(mTabLayout.newTab().setIcon(R.drawable.searchpin));
mTabLayout.addTab(mTabLayout.newTab().setIcon(R.drawable.discussionpin));
mTabLayout.addTab(mTabLayout.newTab().setIcon(R.drawable.userpin));

for (int i = 0; i < mTabLayout.getTabCount(); i++) {
    TabLayout.Tab tab = mTabLayout.getTabAt(i);
    if (tab != null) tab.setCustomView(R.layout.view_home_tab);
}

这是xml:




    



为我工作.此外,如果要使用选择器表示不同的状态,则需要设置自定义视图的初始选定状态..tab.getCustomView()的setSelected(tab.isSelected());
推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有