我正在使用MaterialTabHost显示标签。我想在onTabSelected时更改MaterialTabHost的字体。我试图得到相同的textview。但是无法弄明白。我提到https://github.com/neokree/MaterialTabs。 任何帮助都会得到满足。
这是我的XML。
<!-- for Text Tabs -->
<it.neokree.materialtabs.MaterialTabHost
android:id="@+id/materialTabHost_MainActivity"
android:layout_width="match_parent"
android:layout_height="48dp"
android:animateLayoutChanges="false"
app:accentColor="@color/white"
app:primaryColor="@color/main_blue_light"
app:textColor="@color/white"
/>
那么我们如何更改字体?
答案 0 :(得分:0)
这是我在创建时将文字字体更改为标签的方式:
Typeface fontRobotoRegular = Typeface.createFromAsset(getAssets(),"font/RobotoCondensed-Regular.ttf");
MaterialTab tab = new MaterialTab(getApplicationContext(), false);
View tabView = tab.getView();
TextView text = (TextView) tabView.findViewById(R.id.text);
tab.setText(pagerAdapter.getPageTitle(i));
text.setTypeface(fontRobotoRegular);
tab.setTabListener(this);
tabHost.addTab(tab);
因此,如果您想在选中标签时更改字体,您可以在ViewPager的onPageSelected上执行以下操作:
public void onPageSelected(int position) {
...
Typeface fontBold = Typeface.createFromAsset(getAssets(), "font/RobotoCondensed-Bold.ttf");
TextView text = (TextView) tabs.getCurrentTab().getView().findViewById(R.id.text);
text.setTypeface(fontBold);
...
}