操纵工具栏的标题和其他元素

时间:2015-02-26 06:02:58

标签: android android-toolbar

我正在使用AppCompat工具栏,而且大多数情况下都很棒。然而,处理这个头衔一直是个噩梦。它默认设置为应用程序名称,我找不到隐藏它的方法。

我试图隐藏它,以便我可以添加我自己的textview,以便我可以正确地将标题文本对齐到当前它左对齐但垂直居中的顶部。如果我没有让工具栏的高度比平时更长,我无法弄清楚如何将它定位在正常位置。

你们是如何管理工具栏的?如何将标题文本对齐到标题通常位于的顶部位置?

编辑:我添加了它的外观截图。我正试图保持我的项目私有,所以我删除了任何识别元素。但请注意,D(即标题)未与顶部对齐。

toolbar

3 个答案:

答案 0 :(得分:3)

如果您将工具栏设置为操作栏setSupportActionBar(toolbar); 然后你可以使用

sipmly禁用标题
getSupportActionBar().setDisplayShowTitleEnabled(false);

并在工具栏布局中添加textview作为标题,因为工具栏也是一个视图。见以下

<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>

通过这种方式,您可以在任何地方安排标题并进行相应的自定义。

答案 1 :(得分:0)

更改工具栏标题试试这个

 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

答案 2 :(得分:0)

您正在使用支持v7 AppCompat的ToolBar 之后将工具栏设置为操作栏,然后为简单标题设置操作栏标题,或者您想在工具栏中设置自定义布局,然后就像我们在操作栏中所做的那样..现在您的工具栏可以作为操作栏使用..

请参阅以下ActionBarActivity中的示例..

 mToolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(mToolbar);
 getSupportActionBar().setTitle("Your Title");

现在,如果你对动作栏相关的方法做了什么,它最终会在ToolBar中受到影响。