Toolbar Support 包 24 以上边距留白问题

使用 Toolbar 的时候碰到个问题,借此分享给踩坑的童鞋们。
大家可能已经知道这个属性,用来解决Toolbar 左边留白问题

<item name="contentInsetStart">0dp</item>

但是本文的重点不在此,请往下看。


设置 Toolbar 返回按钮

actionBar.setDisplayHomeAsUpEnabled(true);

support 包版本为 23 及以下时

返回按钮与后面的 content 之间紧贴着,不存在边距,即使不设置

<item name="contentInsetStart">0dp</item>
support-23.png

support 包版本为 24 及以上时

即使设置

<item name="contentInsetStart">0dp</item>

返回按钮与后面的 content 之间仍存在边距,如下图

support-24.png

求解
通过对比 support 23 与 24 两个版本 Toolbar 默认属性的源代码可以发现问题所在,请看下面两张对比图

  1. support 23 的源代码


    support23.png
  2. support 24 的源代码


    support24.png

解决办法
给 Toolbar 设置以下属性

<item name="contentInsetStartWithNavigation">0dp</item>

效果如下图

support-24-0.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容