工具栏标题大写

时间:2017-11-06 16:59:51

标签: android android-layout android-toolbar android-styles

尝试大写工具栏的标题:

工具栏

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    style="@style/App.Theme.ToolbarTitleUppercase"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:layout_collapseMode="pin"
    app:titleTextAppearance="@style/App.Theme.ToolbarTitleUppercase" />

工具栏样式

<style name="App.Theme.ToolbarTitleUppercase" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textAllCaps">true</item>
</style>

这对标题文本没有任何影响。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

这是支持库27.1.1 set app:theme

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:theme="@style/ToolbarTextAppearance"
 />

然后在styles.xml

中的ToolbarTextAppearance中
<style name="ToolbarTextAppearance">
    <item name="textAllCaps">true</item>
    <item name="android:textAllCaps">true</item>
</style>

答案 1 :(得分:1)

基于Tim's answer,这是另一种实现方式:

styles.xml

d

toolbar.xml

<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
    <!--<item name="android:textSize">18sp</item>-->
    <item name="textAllCaps">true</item>
    <item name="android:textAllCaps">true</item>
</style>

答案 2 :(得分:0)

您可以在布局文件夹上创建toolbar.xml:

<android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:theme="@style/AppTheme.PopupOverlay"
        tools:showIn="@layout/activity_layout">
        <TextView
                android:id="@+id/my_title"
                android:text="Title text"
                android:textAllCaps="true" 
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
    </android.support.v7.widget.Toolbar>

将其包含在您要使用工具栏的xml中:

<include layout="@layout/toolbar"/>

然后在你的观点中:

getActivity().findViewById(R.id.toolbar);
getActivity().getSupportActionBar().setDisplayShowTitleEnabled(false);

希望它有所帮助!