使用导航抽屉在自定义布局中居中标题
Centering the title in a custom layout with a navigation drawer
我正在使用带导航视图的工具栏。
我需要将此布局的文本居中。
我的代码片段 -
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_marginLeft="-20dp"
android:background="@color/colorAccent"
android:contentInsetEnd="0dp"
android:contentInsetLeft="0dp"
android:contentInsetRight="0dp"
android:contentInsetStart="0dp"
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
android:weightSum="1"
app:contentInsetStart="0dp"
app:popupTheme="@style/AppTheme.PopupOverlay">
<RelativeLayout
android:id="@+id/header_rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:background="@color/purple_color">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="@dimen/dimen_20"
android:visibility="visible" />
<ImageView
android:id="@+id/toolbar_title_iv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:visibility="visible" />
<ImageView
android:id="@+id/right_icon_2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dimen_20"
android:layout_toLeftOf="@+id/right_icon_1"
android:visibility="gone" />
<ImageView
android:id="@+id/right_icon_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:paddingLeft="@dimen/dimen_15"
android:paddingRight="@dimen/dimen_15"
android:visibility="gone" />
<TextView
android:id="@+id/right_text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:layout_marginRight="@dimen/dimen_20"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/dimen_12"
android:visibility="gone" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
将文本视图的宽度设置为 match_parent,然后将其重力设置为居中。确保您设置的是 android:gravity 而不是 android:layout_gravity.
更新代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorAccent"
android:contentInsetEnd="0dp"
android:contentInsetLeft="0dp"
android:contentInsetRight="0dp"
android:contentInsetStart="0dp"
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
app:contentInsetStart="0dp"
app:popupTheme="@style/AppTheme.PopupOverlay">
<RelativeLayout
android:id="@+id/header_rl"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:gravity="center_vertical|right"
android:orientation="horizontal">
<ImageView
android:id="@+id/toolbar_title_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible" />
<ImageView
android:id="@+id/right_icon_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp" />
<ImageView
android:id="@+id/right_icon_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="15dp"
android:paddingRight="15dp" />
<TextView
android:id="@+id/right_text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:text="Test"
android:textColor="@android:color/black"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Leaderboard"
android:textColor="@android:color/white"
android:textSize="25sp" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
</LinearLayout>
使用此代码:-
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Leadership"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="20sp"
android:visibility="visible" />
<ImageView
android:id="@+id/toolbar_title_iv"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="end"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:src="@drawable/ic_launcher_background"
/>
<!--<ImageView-->
<!--android:id="@+id/right_icon_2"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_marginLeft="20dp"-->
<!--android:src="@drawable/ic_launcher_background"-->
<!--android:visibility="gone" />-->
<!--<ImageView-->
<!--android:id="@+id/right_icon_1"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_alignParentRight="true"-->
<!--android:paddingLeft="15dp"-->
<!--android:paddingRight="15dp"-->
<!--android:src="@drawable/ic_launcher_background"-->
<!--android:visibility="gone" />-->
<!--<TextView-->
<!--android:id="@+id/right_text_1"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_alignParentRight="true"-->
<!--android:layout_centerInParent="true"-->
<!--android:layout_marginRight="20dp"-->
<!--android:text=""-->
<!--android:textColor="#000"-->
<!--android:textSize="12dp"-->
<!--android:visibility="gone" />-->
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
我正在使用带导航视图的工具栏。
我需要将此布局的文本居中。
我的代码片段 -
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_marginLeft="-20dp"
android:background="@color/colorAccent"
android:contentInsetEnd="0dp"
android:contentInsetLeft="0dp"
android:contentInsetRight="0dp"
android:contentInsetStart="0dp"
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
android:weightSum="1"
app:contentInsetStart="0dp"
app:popupTheme="@style/AppTheme.PopupOverlay">
<RelativeLayout
android:id="@+id/header_rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:background="@color/purple_color">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="@dimen/dimen_20"
android:visibility="visible" />
<ImageView
android:id="@+id/toolbar_title_iv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:visibility="visible" />
<ImageView
android:id="@+id/right_icon_2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dimen_20"
android:layout_toLeftOf="@+id/right_icon_1"
android:visibility="gone" />
<ImageView
android:id="@+id/right_icon_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:paddingLeft="@dimen/dimen_15"
android:paddingRight="@dimen/dimen_15"
android:visibility="gone" />
<TextView
android:id="@+id/right_text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:layout_marginRight="@dimen/dimen_20"
android:text=""
android:textColor="@color/black"
android:textSize="@dimen/dimen_12"
android:visibility="gone" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
将文本视图的宽度设置为 match_parent,然后将其重力设置为居中。确保您设置的是 android:gravity 而不是 android:layout_gravity.
更新代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorAccent"
android:contentInsetEnd="0dp"
android:contentInsetLeft="0dp"
android:contentInsetRight="0dp"
android:contentInsetStart="0dp"
app:contentInsetEnd="0dp"
app:contentInsetLeft="0dp"
app:contentInsetRight="0dp"
app:contentInsetStart="0dp"
app:popupTheme="@style/AppTheme.PopupOverlay">
<RelativeLayout
android:id="@+id/header_rl"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:gravity="center_vertical|right"
android:orientation="horizontal">
<ImageView
android:id="@+id/toolbar_title_iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible" />
<ImageView
android:id="@+id/right_icon_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp" />
<ImageView
android:id="@+id/right_icon_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="15dp"
android:paddingRight="15dp" />
<TextView
android:id="@+id/right_text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:text="Test"
android:textColor="@android:color/black"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Leaderboard"
android:textColor="@android:color/white"
android:textSize="25sp" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
</LinearLayout>
使用此代码:-
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Leadership"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="20sp"
android:visibility="visible" />
<ImageView
android:id="@+id/toolbar_title_iv"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="end"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:src="@drawable/ic_launcher_background"
/>
<!--<ImageView-->
<!--android:id="@+id/right_icon_2"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_marginLeft="20dp"-->
<!--android:src="@drawable/ic_launcher_background"-->
<!--android:visibility="gone" />-->
<!--<ImageView-->
<!--android:id="@+id/right_icon_1"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="match_parent"-->
<!--android:layout_alignParentRight="true"-->
<!--android:paddingLeft="15dp"-->
<!--android:paddingRight="15dp"-->
<!--android:src="@drawable/ic_launcher_background"-->
<!--android:visibility="gone" />-->
<!--<TextView-->
<!--android:id="@+id/right_text_1"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_alignParentRight="true"-->
<!--android:layout_centerInParent="true"-->
<!--android:layout_marginRight="20dp"-->
<!--android:text=""-->
<!--android:textColor="#000"-->
<!--android:textSize="12dp"-->
<!--android:visibility="gone" />-->
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>