安卓开发toolbar设置logo_Android Toolbar左、中、右对齐

本文详细介绍了如何在Android Toolbar中实现子元素的左中右对齐。通过调整XML布局,可以去除预设的NavigationIcon、Logo和Title,从而达到自定义视图的精确对齐,尽管在没有移除这些预设元素时,居左对齐仍可能受到影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



Android Toolbar左、中、右对齐

默认的Android Toolbar中添加子元素view是从左到右依次添加。需要注意的是,Android Toolbar为自身的NavigationIcon(app:navigationIcon)最靠右,Logo(app:logo)紧接NavigationIcon、Title(app:title)接续Logo、保留了默认的位置(从左边到右)。这些Android Toolbar保留的系统设置字段将挤压开发者自己安放在Toolbar中的子view,如图所示:

上图的XML实现代码:

xmlns:tools="http://schemas.android.com/tools"

xmlns:app="http://schemas.android.com/apk/res/zhangphil.toolbar"

android:layout_width="match_parent"

android:layout_height="match_parent" >

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="#03a9f4"

android:minHeight="?attr/actionBarSize"

android:theme="@style/ThemeOverlay.AppCompat.ActionBar"

app:logo="@drawable/ic_launcher"

app:navigationIcon="@android:drawable/ic_menu_delete"

app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

app:title="title" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="left"

android:text="左" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="中" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="right"

android:text="右" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_below="@+id/toolbar"

android:text="左" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/toolbar"

android:layout_centerHorizontal="true"

android:text="中" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:layout_below="@+id/toolbar"

android:text="右" />

如果没有使用Android Toolbar自身的app:navigationIcon、app:logo、app:title,则可以大致实现自定义的view居中、居右显示,但居左仍会有一些小瑕疵,因为Android Toolbar仍然为NavigationIcon(app:navigationIcon)在Toolbar的最左边保留了一定的空间位置,如图:

上图实现的XML代码:

xmlns:tools="http://schemas.android.com/tools"

xmlns:app="http://schemas.android.com/apk/res/zhangphil.toolbar"

android:layout_width="match_parent"

android:layout_height="match_parent" >

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="#03a9f4"

android:minHeight="?attr/actionBarSize"

android:theme="@style/ThemeOverlay.AppCompat.ActionBar"

app:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="left"

android:text="左" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="中" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="right"

android:text="右" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_below="@+id/toolbar"

android:text="左" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/toolbar"

android:layout_centerHorizontal="true"

android:text="中" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:layout_below="@+id/toolbar"

android:text="右" />

也即删掉了Toolbar的三个属性定义:app:navigationIcon、app:logo、app:title 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值