Android:文本视图的工具栏不太居中
我在工具栏中居中文本视图时遇到问题 当文本变得太长时,它看起来是这样的 如您所见,文本向右偏多,或者左侧导航图标有一些填充 下面的图像具有布局边界 当文本很小时,就可以了 同样,如果可选徽标可见(扳手只是一个占位符),则在第一张图像中看到的文本显示良好 这是代码。如果您需要查看其他内容,请留下评论 活动\u main.xmlAndroid:文本视图的工具栏不太居中,android,android-toolbar,Android,Android Toolbar,我在工具栏中居中文本视图时遇到问题 当文本变得太长时,它看起来是这样的 如您所见,文本向右偏多,或者左侧导航图标有一些填充 下面的图像具有布局边界 当文本很小时,就可以了 同样,如果可选徽标可见(扳手只是一个占位符),则在第一张图像中看到的文本显示良好 这是代码。如果您需要查看其他内容,请留下评论 活动\u main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ersen.toolbarcentreproblem.MainActivity">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="@color/colorPrimary">
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:padding="10dp"
android:visibility="gone"
app:srcCompat="@drawable/ic_build_black_24dp"
tools:visibility="visible"/>
<TextView
android:text="Set Holiday Set Holiday Set Holiday Set Holiday"
android:textColor="@android:color/white"
android:textAllCaps="true"
android:layout_gravity="center"
android:maxLines="1"
android:ellipsize="end"
android:gravity="center"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</android.support.v7.widget.Toolbar>
<TextView
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello World!" />
</LinearLayout>
我尝试过的
- 内容插页
- contentInsetRight
- 心满意足
- contentInsertStart
我在探索@Mike M对制作的看法 只需将徽标ImageView的可见性设置为“不可见”,而不是“消失” 在我的工具栏上我有这个
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:padding="10dp"
android:visibility="gone"
app:srcCompat="@drawable/ic_build_black_24dp"
tools:visibility="visible"/>
<android.support.v4.widget.Space
android:id="@+id/space"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="end"
android:visibility="gone"
tools:visibility="visible"/>
<TextView
android:id="@+id/toolbar_title"
android:text="Set Holiday Holiday Set Set S"
android:textColor="@android:color/white"
android:textAllCaps="true"
android:gravity="center"
android:layout_gravity="center"
android:layout_centerInParent="true"
android:maxLines="1"
android:ellipsize="end"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
如果徽标可见或工具栏具有菜单项,则会隐藏空间视图,否则会将其设置为可见
这解决了我的问题,文本现在在所有情况下都显示在中心
这其中有一个问题
mToolbar.getMenu().size() > 0
由于此代码是活动的onResume,它将在片段的onCreateOptions菜单之前调用,因此当它实际上为真时,它可能最终为假,因此我将进一步探讨此问题我正在探讨@Mike M关于制作的内容 只需将徽标ImageView的可见性设置为“不可见”,而不是“消失” 在我的工具栏上我有这个
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:padding="10dp"
android:visibility="gone"
app:srcCompat="@drawable/ic_build_black_24dp"
tools:visibility="visible"/>
<android.support.v4.widget.Space
android:id="@+id/space"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="end"
android:visibility="gone"
tools:visibility="visible"/>
<TextView
android:id="@+id/toolbar_title"
android:text="Set Holiday Holiday Set Set S"
android:textColor="@android:color/white"
android:textAllCaps="true"
android:gravity="center"
android:layout_gravity="center"
android:layout_centerInParent="true"
android:maxLines="1"
android:ellipsize="end"
android:textSize="18sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
如果徽标可见或工具栏具有菜单项,则会隐藏空间视图,否则会将其设置为可见
这解决了我的问题,文本现在在所有情况下都显示在中心
这其中有一个问题
mToolbar.getMenu().size() > 0
由于此代码是活动的onResume,因此将在片段的onCreateOptions菜单之前调用它,因此当它实际上为true时,它可能最终为false,我将对此进行更多探索只需将您的
徽标
图像视图
可见性设置为不可见
,而不是消失
@MikeM。嗨,谢谢你的回复。这在某些情况下可以工作,但在另一些情况下,我可能会有一个膨胀的菜单,不确定是否要对其进行编码。将您的设置假日文本视图宽度更改为匹配\u parent
@Ironman Hi感谢您的回复。我试着匹配你的父母,我得到了同样的问题。我上传了一个屏幕截图。奇怪的是,如果你假装导航图标不在那里,文本实际上是居中的,因此出于某种原因,它没有考虑导航图标,只是将你的徽标图像视图的可见性设置为不可见,而不是消失@MikeM。嗨,谢谢你的回复。这在某些情况下可以工作,但在另一些情况下,我可能会有一个膨胀的菜单,不确定是否要对其进行编码。将您的设置假日文本视图宽度更改为匹配\u parent
@Ironman Hi感谢您的回复。我试着匹配你的父母,我得到了同样的问题。我上传了一个截图。奇怪的是,如果你假装导航图标不在那里,文本实际上是居中的,因此出于某种原因,它没有考虑导航图标。我拿走了部分代码,它似乎减少了右侧导航图标和文本之间的间距。嗨,谢谢,我将代码粘贴到我的项目中,文本仍然不居中,请参阅我的编辑2,其中有一个屏幕截图。我拍摄了部分代码,似乎缩小了右侧导航图标和文本之间的间距。您好,谢谢,我将代码粘贴到我的项目中,文本仍然不居中,请参阅我的编辑2,其中有一个屏幕截图
mToolbar.getMenu().size() > 0