操纵工具栏的标题和其他元素
Manipulating the Toolbar's title and other elements
我正在使用 AppCompat 工具栏,它在大多数情况下都很棒。然而,处理标题一直是一场噩梦。它默认设置为应用程序名称,我找不到隐藏它的方法。
我试图隐藏它,以便我可以添加自己的文本视图,这样我就可以将标题文本正确对齐到当前 left-aligned 但垂直居中的顶部。如果我不使工具栏高度比平时长,我不知道如何将它定位在正常位置。
你们是如何管理工具栏的?如何将标题文本对齐到标题通常所在的顶部位置?
编辑:我已经添加了它的外观截图。我现在试图让我的项目保密,所以我删除了所有识别元素。但请注意 D(标题)未与顶部对齐。
要更改工具栏标题试试这个
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Text");
对于工具栏的自定义布局试试这个
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.actionbar); //replace with your custom toolbar title
您正在使用支持 v7 AppCompat 的工具栏
之后将该工具栏设置为操作栏,然后将操作栏标题设置为简单标题,或者您想在工具栏内设置自定义布局,然后与我们在操作栏中所做的相同。因此现在您的工具栏作为操作栏工作..
请参阅下面的 ActionBarActivity 示例。
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("Your Title");
现在,如果您对操作栏相关的方法进行任何操作,它最终都会在工具栏中受到影响。
如果您将工具栏设置为操作栏 setSupportActionBar(toolbar);
然后您可以使用
简单地禁用标题
getSupportActionBar().setDisplayShowTitleEnabled(false);
并在工具栏布局中添加一个文本视图作为标题,因为工具栏也是一个视图。见下文
<LinearLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<android.support.v7.widget.Toolbar
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="@color/material_blue"
android:elevation="5dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
app:theme="@style/ToolbarCustomIconColor" >
<TextView
android:id="@+id/textview_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@android:color/white" />
</android.support.v7.widget.Toolbar>
</LinearLayout>
这样您就可以在任何地方安排您的标题并进行相应的自定义。
我正在使用 AppCompat 工具栏,它在大多数情况下都很棒。然而,处理标题一直是一场噩梦。它默认设置为应用程序名称,我找不到隐藏它的方法。
我试图隐藏它,以便我可以添加自己的文本视图,这样我就可以将标题文本正确对齐到当前 left-aligned 但垂直居中的顶部。如果我不使工具栏高度比平时长,我不知道如何将它定位在正常位置。
你们是如何管理工具栏的?如何将标题文本对齐到标题通常所在的顶部位置?
编辑:我已经添加了它的外观截图。我现在试图让我的项目保密,所以我删除了所有识别元素。但请注意 D(标题)未与顶部对齐。
要更改工具栏标题试试这个
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Text");
对于工具栏的自定义布局试试这个
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.actionbar); //replace with your custom toolbar title
您正在使用支持 v7 AppCompat 的工具栏 之后将该工具栏设置为操作栏,然后将操作栏标题设置为简单标题,或者您想在工具栏内设置自定义布局,然后与我们在操作栏中所做的相同。因此现在您的工具栏作为操作栏工作..
请参阅下面的 ActionBarActivity 示例。
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
getSupportActionBar().setTitle("Your Title");
现在,如果您对操作栏相关的方法进行任何操作,它最终都会在工具栏中受到影响。
如果您将工具栏设置为操作栏 setSupportActionBar(toolbar);
然后您可以使用
getSupportActionBar().setDisplayShowTitleEnabled(false);
并在工具栏布局中添加一个文本视图作为标题,因为工具栏也是一个视图。见下文
<LinearLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<android.support.v7.widget.Toolbar
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="@color/material_blue"
android:elevation="5dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
app:theme="@style/ToolbarCustomIconColor" >
<TextView
android:id="@+id/textview_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:text="@string/app_name"
android:textColor="@android:color/white" />
</android.support.v7.widget.Toolbar>
</LinearLayout>
这样您就可以在任何地方安排您的标题并进行相应的自定义。