嗨,我在我的应用程序中使用滑动选项卡布局,这一切都很好.我唯一不理解的是为什么我的标签文本是大写的.
我已经打印了选项卡在滑动选项卡类中的文本,但它们不是大写的.我环顾四周,没有调用toUpperCase方法.
以下是设置文本的类中的代码:
private void populateTabStrip() { final PagerAdapter adapter = mViewPager.getAdapter(); final View.OnClickListener tabClickListener = new TabClickListener(); for (int i = 0; i < adapter.getCount(); i++) { View tabView = null; TextView tabTitleView = null; if (mTabViewLayoutId != 0) { // If there is a custom tab view layout id set,try and inflate it tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId,mTabStrip,false); tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId); } if (tabView == null) { tabView = createDefaultTabView(getContext()); } if (tabTitleView == null && TextView.class.isInstance(tabView)) { tabTitleView = (TextView) tabView; } if (mDistributeEvenly) { LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) tabView.getLayoutParams(); lp.width = 0; lp.weight = 1; } tabTitleView.setText(adapter.getPageTitle(i)); tabTitleView.setTextColor(getResources().getColor(R.color.da_blue)); tabView.setOnClickListener(tabClickListener); String desc = mContentDescriptions.get(i,null); if (desc != null) { tabView.setContentDescription(desc); } mTabStrip.addView(tabView); if (i == mViewPager.getCurrentItem()) { tabView.setSelected(true); } } }
我敢肯定我可以通过一种风格来做,但实际上不确定使用哪种风格.这就是我的风格:
<resources> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:actionBarTabTextStyle">@style/ActionBarTabTextStyle.Tabtheme</item> <item name="actionBarTabTextStyle">@style/ActionBarTabTextStyle.Tabtheme</item> </style> <style name="ActionBarTabTextStyle.Tabtheme" parent="@android:style/Widget.Holo.ActionBar.TabText"> <item name="android:textAllCaps">false</item> </style> </resources>
解决方法
如果你使用“android.support.design.widget.TabLayout”来设置app:tabTextAppearance =“@ android:style / TextAppearance.Widget.TabWidget”