嗨,我在我的应用程序中使用滑动选项卡布局,这一切都很好.我唯一不理解的是为什么我的标签文本是大写的.
我已经打印了选项卡在滑动选项卡类中的文本,但它们不是大写的.我环顾四周,没有调用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”