为了更改工具栏标题时的更好看,我使用TextSwitchers
的自定义布局。我有时仍会使用默认工具栏切换到另一个(简单)活动,因此我希望我的自定义工具栏将文本放在完全相同的位置。
默认工具栏用于标题和副标题的填充,边距,文字大小和位置是什么?它们是在任何地方定义的吗?
我的布局目前看起来如下(如果未使用自定义图标ivToolbarDataSource
并设置为不可见,它应该看起来像默认工具栏一样,目前看起来略有不同)
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="?actionBarThemeStyle"
app:popupTheme="?actionBarPopupThemeStyle"
app:layout_scrollFlags="scroll|enterAlways">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/ivToolbarDataSource"
android:layout_gravity="center_vertical"
android:layout_marginRight="2dp"
android:layout_width="24dp"
android:layout_height="24dp" />
<LinearLayout
android:layout_gravity="center_vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<TextSwitcher
android:id="@+id/tsToolbarTitle"
android:layout_gravity="center_vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvToolbarTitle1"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
android:maxLines="1"
android:ellipsize="end"
android:theme="?actionBarThemeStyle"
android:layout_gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvToolbarTitle2"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"
android:maxLines="1"
android:ellipsize="end"
android:theme="?actionBarThemeStyle"
android:layout_gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</TextSwitcher>
</LinearLayout>
</LinearLayout>
<TextSwitcher
android:id="@+id/tsToolbarSubTitle"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvToolbarSubTitle1"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle"
android:maxLines="1"
android:ellipsize="end"
android:theme="?actionBarThemeStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvToolbarSubTitle2"
style="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle"
android:maxLines="1"
android:ellipsize="end"
android:theme="?actionBarThemeStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TextSwitcher>
</LinearLayout>
</android.support.v7.widget.Toolbar>
我正在使用TextViews
的正确样式,但它与默认工具栏的效果并非100%相同...