码迷,mamicode.com
首页 > 其他好文 > 详细

Toolbar和Menu字体样式的设置

时间:2015-06-24 14:22:40      阅读:616      评论:0      收藏:0      [点我收藏+]

标签:

ToolBar上文字显示的字体样式

ToolBar上白色显示的字体和图标

<item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>

ToolBar上字体的大小 颜色等

<item name="android:titleTextAppearance">@style/ToolbarSubtitle</item>
<!--ToolBar 字体配置-->
<style name="ToolbarTitleAppearance">
<item name="android:textSize">30sp</item>
<!--<item name="android:textStyle">normal</item>-->
<item name="android:textColor">@color/gold</item>
</style>

ToolBar上title字数限制

通过给titleTextAppearance设置maxEms或maxLength来限定

    <!--ToolBar 字体配置-->
    <style name="ToolbarTitleAppearance">
        <item name="android:maxEms">1</item> 无效
        <item name="android:maxLength">1</item> 无效
    </style>

观察发现titleTextAppearance没有可以直接设置字数限制的样式

 技术分享

通过代码来获取ToolBar上的TextView然后来设置maxEms

        mToolbar.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                View view = mToolbar.getChildAt(0);
                if (view != null && view instanceof TextView) {
                    TextView title = (TextView) view;
                    title.setMaxEms(1);
                    mToolbar.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                }
            }
        });

通过自定义ToolBar.xml来实现

http://stackoverflow.com/questions/28487312/how-to-change-the-toolbar-text-size-in-android

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent">
    <TextView
        android:id="@+id/toolbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="哈哈哈"
        android:textSize="25sp"/>
</android.support.v7.widget.Toolbar>

清空ToolBar默认title并限制字数

        mToolbar.setTitle("");
     mTextView.setMaxEms(1)

ActionBar上Menu显式的字体样式

参考http://www.crifan.com/android_menu_text_size_too_small/

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  MenuItem item = menu.add(Menu.NONE, Menu.FIRST, 100, "搜索");
  item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
  return super.onCreateOptionsMenu(menu);
}

通过更改actionMenuTextAppearance来改变Menu上搜索两字的样式

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:actionMenuTextAppearance">@style/MenuTextStyle</item>
</style>

<style name="MenuTextStyle">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">18sp</item>
</style>

 

Toolbar和Menu字体样式的设置

标签:

原文地址:http://www.cnblogs.com/succlz123/p/4597397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!