簡體   English   中英

自定義工具欄中的居中工具欄標題,帶有圖標和導航抽屜切換按鈕

[英]Center Toolbar Title in custom toolbar with icons and navigation drawer toggle button

我正在嘗試在帶有導航抽屜的應用程序中實現工具欄。 現在,我嘗試將所有片段的工具欄標題居中。 我的問題是,有時導航抽屜中的漢堡包圖標右側有一個圖標,工具欄左側有一個應用程序圖標。 為了使這些額外的圖標可見,我必須使用相對布局,否則左側的應用程序圖標將丟失。

使用工具欄的“活動”的XML如下所示:

<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
tools:context="app.activities.HomeActivity">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:id="@+id/home_toolbar"
        android:minHeight="?attr/actionBarSize"
        android:background="@color/white"
        app:contentInsetStartWithNavigation="0dp">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <ImageView
                android:id="@+id/search_toolbar_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="8dp"
                android:paddingRight="8dp"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:src="@drawable/icon_search_hightlighted" />

            <ImageView
                android:id="@+id/refresh_toolbar_icon"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="8dp"
                android:paddingRight="8dp"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:src="@drawable/icon_refresh"
                android:visibility="gone"/>

            <TextView
                android:id="@+id/actionbar_title"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:text="@string/action_bar_title_home"
                android:gravity="center"
                android:textColor="@color/black"
                android:textSize="18sp" />

            <ImageView
                android:id="@+id/logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:scaleType="centerCrop"
                android:layout_alignParentRight="true"
                android:src="@drawable/app_logo" />

        </RelativeLayout>
    </android.support.v7.widget.Toolbar>


<FrameLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
</LinearLayout>

<fragment
    android:id="@+id/navigation_drawer"
    android:name="app.fragments.NavigationDrawerFragment"
    android:layout_width="@dimen/navigation_drawer_width"
    android:layout_marginTop="?attr/actionBarSize"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    tools:layout="@layout/fragment_navigation_drawer" />

</android.support.v4.widget.DrawerLayout>

我根據所選片段將左側工具欄圖標的可見性設置為不可見或可見。 有誰知道如何使工具欄標題居中並且仍可以在工具欄中看到我的ImageView?

提前致謝。

編輯

我的工具欄標題目前不在居中。 它的位置如下所示: ToolBar標題未居中

我已經讀過,如果相對布局消失了,可以將其居中並將TextView的布局重力設置為center_horizo​​ntal,但這對我不起作用,因為我的App的ImageView不會出現在工具欄的右側。

我沒有足夠的聲譽來發表評論。

您的問題對我來說還不清楚。 如果我理解正確,那么您已經設法使標題居中,但是將imageViews的可見性設置為“消失”時,標題是否不再居中?

如果正確理解,您是否嘗試過將imageViews的可見性設置為不可見而不是消失了? 這樣做時,imageView仍將占據布局中的相同空間,但對用戶不可見。

嘗試使用以下toolbar屬性。

<android.support.v7.widget.Toolbar
    xmlns:app="schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/primaryColor"
    android:contentInsetLeft="0dp"
    android:contentInsetStart="0dp"
    app:contentInsetLeft="0dp"
    app:contentInsetStart="0dp"
    android:contentInsetRight="0dp"
    android:contentInsetEnd="0dp"
    app:contentInsetRight="0dp"
    app:contentInsetEnd="0dp" />

我現在這樣解決了:

<android.support.v7.widget.Toolbar
    android:id="@+id/home_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:layout_gravity="center"
    android:background="@color/white"
    app:contentInsetEnd="0dp"
    app:contentInsetLeft="0dp"
    app:contentInsetRight="0dp"
    app:contentInsetStart="0dp"
    app:contentInsetStartWithNavigation="0dp">

    <ImageView
        android:id="@+id/search_toolbar_icon"
        android:layout_width="36dp"
        android:layout_height="36dp"
        android:src="@drawable/icon_search_hightlighted" />

    <TextView
        android:id="@+id/actionbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="@string/action_bar_title_home"
        android:textColor="@color/black"
        android:textSize="18sp" />

    <ImageView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        android:src="@drawable/nav_icon"
        android:layout_marginEnd="10dp"
        android:layout_marginRight="10dp" />

    <ImageView
        android:id="@+id/refresh_toolbar_icon"
        android:layout_width="36dp"
        android:layout_height="36dp"
        android:padding="8dp"
        android:src="@drawable/icon_refresh"
        android:visibility="gone"
        tools:visibility="visible" />

</android.support.v7.widget.Toolbar>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM