我正试图找到一种正确的方法,为工具栏标题使用自定义字体,并将其置于工具栏中心(客户要求).

目前,我正在使用旧的ActionBar,我正在将标题设置为空值,并使用setCustomView来放置我的自定义字体文本视图,并使用ActionBar将其居中.布局参数.

有更好的方法吗?使用新工具栏作为我的操作栏.

推荐答案

要在Toolbar中使用自定义标题,您只需记住Toolbar只是一个奇特的视图组,因此您可以添加如下自定义标题:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar_top"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?android:attr/actionBarSize"
    android:background="@color/action_bar_bkgnd"
    app:theme="@style/ToolBarTheme" >


     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Toolbar Title"
        android:layout_gravity="center"
        android:id="@+id/toolbar_title" />


    </android.support.v7.widget.Toolbar>

这意味着你可以随心所欲地设计TextView,因为它只是普通的TextView.因此,在您的活动中,您可以这样访问标题:

Toolbar toolbarTop = (Toolbar) findViewById(R.id.toolbar_top);
TextView mTitle = (TextView) toolbarTop.findViewById(R.id.toolbar_title);

Android相关问答推荐

RippleTheme在作曲material 1.7.0中被废弃

编写Inbox需要具有匹配兼容性的Kotlin版本

Android编写动画在发布版本中崩溃

如何清除导航抽屉中以前 Select 的项目(Jetpack Compose)

在Jetpack Compose中,如何判断屏幕是否已重新组合?

如何从sqlite数据库中检索数据到碎片android?

如何在初始合成期间在可组合函数中调用/获取远程API中的数据[防止无限重组]

Modifer.Align()不适用于行/列/框中的文本.未解决的作用域实例错误

ERR_SSL_VERSION_OR_CIPHER_MISMATCH - Android Webview

如何隐藏OutlinedTextField边框上的提示标签

有没有办法让协程通道在接收时遵循特定的顺序而不是先进先出

Andorid Studio编译器如何自动为变量editText生成mutableStateOf("")的方法名?

Android Drawable文件夹中的图像显示模糊

Android 应用程序从 Android Studio 安装,但不是作为 .apk 在外部安装.抛出java.lang.UnsatisfiedLinkError

Android AGP 8 + Gradle 8 + Kotlin 1.8 导致 Kapt 出错

在 compose android 中创建一个圆形按钮和居中文本

在 Jetpack Compose 中包装内容

为片段设置主题

喷气背包组成影子奇怪的行为

复用 RecyclerView 适配器,避免不必要的 API 调用