ナビゲーションドロワー付きのアプリケーションでツールバーを実装しようとしています。今では、すべてのフラグメントに対してツールバーのタイトルを集中させようとしています。私の問題は、時にはナビゲーション・ドロワーからハンバーガー・アイコンの右にアイコンがあり、ツールバーの左側にアプリ・アイコンがあることです。これらの余分なアイコンを表示するには、相対レイアウトを使用する必要があります。それ以外の場合は、左のアプリアイコンが表示されません。センターツールバーアイコンとナビゲーションドロワーのトグルボタン付きのカスタムツールバーのタイトル
ツールバーと私の活動の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を表示させる方法は誰にも分かりますか?
ありがとうございます。私のツールバーのタイトルが、現時点ではセンタリングされていない
EDIT
。 ToolBar title doesn't center
は、私はすでに相対的なレイアウトがなくなってしまう場合は、それを中心とcenter_horizontalするのTextViewのレイアウト重力を設定することが可能であることを読んだが、これは動作しません:この質問のように配置されています私のためには、アプリケーションの私のImageViewは、ツールバーの右側に表示されません。
を私は質問を編集し、ちょっと私のタイトルが配置されている方法を示して別の質問へのリンクを追加しました。それは中心のちょっと右です。 – Distra
FrameLayoutを代わりに使ってみましたか?たぶん、それはあなたがそれが働いていたが右のイメージが消えたと述べたアプローチを使用して必要なコントロールを与えるでしょう。 –