工具栏标题不居中
ToolBar title doesn't center
我正在尝试将我的工具栏标题居中:
<android.support.design.widget.AppBarLayout
android:id="@+id/top_app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:theme="@style/ThemeToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="LOGO"
android:textColor="@color/colorAccent"
android:textSize="32sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
工具栏默认将其标题左对齐。为了对齐标题中心,我在工具栏中添加了一个 TextView。但它并不完全居中。我试过从左边给负边距,但没用。
我该怎么做?
尝试 wrap_content 文本视图宽度并将 layout_gravity 设置为居中。
如果它没有很好地居中,那么负边距就会发挥作用。
我有一个类似的问题,不记得我在哪里找到答案,但工具栏默认有一个 16dp 的内容插入。您需要将其删除以使徽标居中。
app:contentInsetStart="0dp"
确保使用 app
名称 space。
因此您的工具栏布局将如下所示:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:layout_width="match_parent"
app:contentInsetStart="0dp"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="LOGO"
android:textColor="@color/colorAccent"
android:textSize="32sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</android.support.v7.widget.Toolbar>
更新
将 contentInsetStart
设置为“0dp”对我也不起作用。所以我尝试给 TextView
负填充 (-48dp) 并且它起作用了。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:theme="@style/ThemeToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="LOGO"
android:textColor="@color/colorAccent"
android:textSize="32sp"
android:textStyle="bold"
tools:ignore="HardcodedText"
android:paddingStart="-48dp"
android:paddingLeft="-48dp"/>
</android.support.v7.widget.Toolbar>
我正在尝试将我的工具栏标题居中:
<android.support.design.widget.AppBarLayout
android:id="@+id/top_app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:theme="@style/ThemeToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="LOGO"
android:textColor="@color/colorAccent"
android:textSize="32sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
工具栏默认将其标题左对齐。为了对齐标题中心,我在工具栏中添加了一个 TextView。但它并不完全居中。我试过从左边给负边距,但没用。
尝试 wrap_content 文本视图宽度并将 layout_gravity 设置为居中。 如果它没有很好地居中,那么负边距就会发挥作用。
我有一个类似的问题,不记得我在哪里找到答案,但工具栏默认有一个 16dp 的内容插入。您需要将其删除以使徽标居中。
app:contentInsetStart="0dp"
确保使用 app
名称 space。
因此您的工具栏布局将如下所示:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:layout_width="match_parent"
app:contentInsetStart="0dp"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="LOGO"
android:textColor="@color/colorAccent"
android:textSize="32sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</android.support.v7.widget.Toolbar>
更新
将 contentInsetStart
设置为“0dp”对我也不起作用。所以我尝试给 TextView
负填充 (-48dp) 并且它起作用了。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:theme="@style/ThemeToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="LOGO"
android:textColor="@color/colorAccent"
android:textSize="32sp"
android:textStyle="bold"
tools:ignore="HardcodedText"
android:paddingStart="-48dp"
android:paddingLeft="-48dp"/>
</android.support.v7.widget.Toolbar>