有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何更改字体、文本大小和设置文本位置?

我需要更改字体大小、字体本身以及工具栏中文本的中心位置。 我从底部导航活动工作室获取了一个模板

我试图在主题中设置文本大小。xml(我可以在那里更改背景颜色和文本颜色)

<style name="CustomToolBarStyle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="titleTextColor">@color/black</item>
<item name="安卓:background">@color/white</item>

我试着在主题中使用这个选项。xml:

<item name="安卓:gravity">center</item>

这没用。我试着按照这个指示: https://stackoverflow。com/questions/26533510/安卓工具栏中心标题和自定义字体。支持v7。小装置。工具栏出现错误并导致崩溃

ToolBar

NavbarTemplate


共 (3) 个答案

  1. # 1 楼答案

    对于API级别21+,可以使用工具栏的app:titleTextAppearance属性

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

    并覆盖自定义样式中的默认标题大小:

    <style name="yourstyle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
        <item name="android:textSize">18sp</item>
        <item name="android:fontFamily">yourFont</item>
    </style>
    

    对于居中,你应该遵循这个答案,如果这个答案和其他答案在同一篇文章https://stackoverflow.com/a/38175403/9917400中都不适用于你,那么就在工具栏内使用线性布局

  2. # 2 楼答案

    如果你正在使用androidx,不要使用android.support.v7.widget.Toolbar

    你必须使用androidx.appcompat.widget.Toolbar

    在res/layout中创建toolbar.xml。 请输入以下代码:

    <?xml version="1.0" encoding="utf-8"?>
        <androidx.coordinatorlayout.widget.CoordinatorLayout 
         xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            tools:context=".MainActivity">
        
            <com.google.android.material.appbar.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                >
        
                <androidx.appcompat.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    android:background="yourToolBarBackgroundColor"
                    >
        
                    <TextView
                        android:id="@+id/toolbar_title"
                        style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
    
                        android:layout_gravity="center"
                        android:text="TestToolBar"
                        android:fontFamily="yourFont"
                        android:textSize="yourSizeOfText"
                        android:textColor="yourTextColor" />
        
                </androidx.appcompat.widget.Toolbar>
        
            </com.google.android.material.appbar.AppBarLayout>
        
            <include layout="@layout/activity_main" />
        
        </androidx.coordinatorlayout.widget.CoordinatorLayout>
    

    禁用主题中的ActionBar。xml:

    <style name="Theme.YourProject" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    

    对于夜间主题,你必须在主题中做同样的事情。xml(夜间)

    然后在主要活动中。onCreate中的java:

    setContentView(R.layout.toolbar);
    
  3. # 3 楼答案

    可以在工具栏内设置约束布局

     <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?actionBarSize"
                app:layout_collapseMode="pin">
    
                <androidx.constraintlayout.widget.ConstraintLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                        <TextView
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content"
                           app:layout_constraintEnd_toEndOf="parent"
                           app:layout_constraintStart_toStartOf="parent"
                           app:layout_constraintTop_toTopOf="parent"
                           app:layout_constraintBottom_toBottomOf="parent"
                           android:textColor="@color/blue"
                           android:textSize="16sp"
                           app:fontPath="fonts/xxx" />
                 </androidx.constraintlayout.widget.ConstraintLayout>
      </androidx.appcompat.widget.Toolbar>