Tab布局用于在android中创建滑动视图,但我想知道如何自定义它。我想显示一个盒装指示器而不是正常的底部指示器,并将默认值放在中间,只允许更改背景。像这样的东西
我看过几个教程和github项目,允许我自定义按钮,但不能自定义指示器。
android是否允许这样做本机或者是否有任何github repos可以帮助我?
答案 0 :(得分:0)
这就是我如何将标签自定义为我自己的风格..我迭代每个标签并产生任何效果,例如:选择时缩放或选取效果..你可以看看这个Custom TabLayout
ViewGroup vg = (ViewGroup) tabs.getChildAt(0);
int tabsCount = vg.getChildCount();
for (int j = 0; j < tabsCount; j++) {
View view = vg.getChildAt(j);
//change drawable for each tabs
view.setBackgroundResource(R.drawable.backgroundtabs);
//if you want to diff drawable for each tabs for example tabs is 4
//if j == 0 view.setBackgroundResource(R.drawable.backgroundtabs1);
//if j == 1 view.setBackgroundResource(R.drawable.backgroundtabs2);
//if j == 2 view.setBackgroundResource(R.drawable.backgroundtabs3);
//if j == 3 view.setBackgroundResource(R.drawable.backgroundtabs4);
ViewGroup vgTab = (ViewGroup) view;
int tabChildsCount = vgTab.getChildCount();
for (int i = 0; i < tabChildsCount; i++) {
View tabViewChild = vgTab.getChildAt(i);
// Get TextView Element
if (tabViewChild instanceof TextView) {
// change font
((TextView) tabViewChild).setTypeface(tf);
// change color
((TextView) tabViewChild).setTextColor(getResources().getColor(R.color.white));
// change size
((TextView) tabViewChild).setTextSize(18);
// change padding
tabViewChild.setPadding(0, 0, 0, 0);
//..... etc...
}
}
}