Ank*_*ist 6 xml android toolbar
使用ActionBarDrawerToggle我的自定义时Toolbar,其中的TextViews Toolbar不再居中.
main_layout.xml
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<FrameLayout
android:id="@+id/flContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:fitsSystemWindows="true" />
</RelativeLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nvView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view" />
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)
toolbar.xml
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
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="?attr/colorPrimaryDark"
android:elevation="5dp"
android:minHeight="?attr/actionBarSize"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center_horizontal|center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/tvNavTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorBackgroundBlack"
android:gravity="center"
android:textColor="@color/colorWhite"
android:textSize="@dimen/text_size_large" />
<TextView
android:id="@+id/tvNavDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorBackgroundBlack"
android:gravity="center"
android:textColor="@color/colorWhite"
android:textSize="@dimen/text_size_small" />
</LinearLayout>
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@mipmap/ic_launcher" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
我尝试设置contentInsetStart和其他属性Toolbar,但没有改变.
Mik*_* M. 17
这里的问题是将ActionBarDrawerToggle图标设置为上面的导航按钮Toolbar.此按钮是一个特殊的子项Toolbar,它将优先于布局.View添加到其中的任何其他孩子Toolbar将仅被分配ImageButton放置之后的剩余空间.这会将你的左侧推向RelativeLayout右侧,所以TextView你所居中的那个将不会相对于Toolbar自身居中.
幸运的是,Toolbar的LayoutParams有,我们可以利用居中重力特性LinearLayout及其TextView直接S IN的Toolbar,而无需将它们包装在另一个ViewGroup.我们还可以在您的位置ImageView上适当地设置重力,同样将其与右侧对齐.
在这个例子中,我们通过设置LinearLayout's layout_gravity来应用中心引力center.一定要将layout_width值更改为wrap_content,或者您将与以前一样在同一条船上.在ImageView这里有它layout_gravity设置为right|center_vertical,取代那些layout_*特定的属性RelativeLayout.
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
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="?attr/colorPrimaryDark"
android:elevation="5dp"
android:minHeight="?attr/actionBarSize"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/tvNavTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/colorWhite"
android:textSize="@dimen/text_size_large" />
<TextView
android:id="@+id/tvNavDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/colorWhite"
android:textSize="@dimen/text_size_small" />
</LinearLayout>
<ImageView
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_gravity="right|center_vertical"
android:src="@mipmap/ic_launcher" />
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |