我正在开发一个带有三个片段标签的屏幕.标签标题只有大写的第一个字母:
private String[] tabs = { "About Me", "Education","ProfileEdit"};
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,标题全部以大写形式显示.
如何使标签正确显示单词?
标签设置代码:
private String[] tabs = { "About Me", "Education","ProfileEdit"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.editprofile);
user=(UserModel)getIntent().getSerializableExtra("USER");
// Initilization
viewPager = (ViewPager) findViewById(R.id.pager);
actionBar = getActionBar();
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(mAdapter);
actionBar.setHomeButtonEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Adding Tabs
for (String tab_name : tabs) {
actionBar.addTab(actionBar.newTab().setText(tab_name.toLowerCase())
.setTabListener(this));
}
/**
* on swiping the viewpager make respective tab selected
* */
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
// on changing the page
// make respected tab selected
actionBar.setSelectedNavigationItem(position);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// on tab selected
// show respected fragment view
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
我使用textAllCaps false编辑了主题,但单词显示方式相同:
<resources>
<style name="MyTheme" parent="Theme.Sherlock">
<item name="actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
<item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="TextAppearance.Sherlock.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
Vin*_*nay 18
在styles.xml中为Tablayout添加样式
<style name="TabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后将该属性添加为:
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
app:tabTextAppearance="@style/TabTextAppearance"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
我测试了它.它会工作的.
Android 4.0 中选项卡视图的默认主题(Holo 主题)将 android:textAllCaps 设置为 true。看:
http://android-developers.blogspot.in/2011/04/customizing-action-bar.html
| 归档时间: |
|
| 查看次数: |
9258 次 |
| 最近记录: |