编辑:我现在在一个独立于我的activity_main.xml
的布局(toolbar.xml
)中有一个自定义的Toolbar
。新的布局现在只包含一个标题的TextView
。然而,Toolbar
有一个overflow menu
,它只包含一个项目(设置图标),并且它被设置为showAsAction="always"
。然而,在布局预览中,我看不到实际的设置图标,因此我无法用图标align
我的标题TextView
,以避免任何未对齐(见下图)。有什么想法吗?
toolbar.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.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="70dp"
android:background="@drawable/toolbar_gradient"
android:elevation="4dp"
app:titleTextColor="@android:color/white"
app:layout_scrollFlags="scroll|enterAlways">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/toolbar_title_placeholder"
android:fontFamily="@font/montserrat_semibold"
android:textColor="@android:color/white"
android:textSize="20sp" />
</androidx.appcompat.widget.Toolbar>
正如您在下图中所看到的,my title TextView
相对于overflow menu item
(设置图标)未对齐。有没有办法解决这个问题?
发布于 2019-06-28 02:11:07
70dp
是工具栏的非标准高度,这是布局的潜在问题。如果保持70dp
工具栏高度不变,则需要调整工具栏布局。
以下是修改XML布局的一种方法。工具栏中的7dp
填充将使图标向下移动。对文本视图的相应更改使其保持对齐。
<androidx.appcompat.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="70dp"
android:background="@android:color/holo_blue_light"
android:elevation="4dp"
android:paddingTop="7dp"
app:layout_scrollFlags="scroll|enterAlways"
app:titleTextColor="@android:color/white">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="center_horizontal|top"
android:gravity="center"
android:text="@string/toolbar_title_placeholder"
android:textColor="@android:color/white"
android:textSize="20sp" />
</androidx.appcompat.widget.Toolbar>
要了解发生了什么,请进行更改并运行应用程序。在Android Studio中,进入Tools->Layout Inspector并选择您的设备和应用程序。您将看到的是您可以检查的布局的转储。
此方法适用于您发布的内容。它可能会对其他视图的放置产生副作用,因此请注意。
另一种方法涉及检索对应于设置图标的视图的代码。如果我没记错的话,那可不是什么好东西。
顺便说一下,您在Android Studio中看不到设置图标,因为菜单项是在运行时添加的。
https://stackoverflow.com/questions/56725413
复制相似问题