toolbar设置图标间隔_关于Toolbar中navigationIcon和title之间距离及展开

由于学习Android时间不长,无法一步直指问题所在,所以我们就从和Toolbar有关的所有代码里面

一个个找(在myclasses里面)。

首先我们在MyClassActivity中首次调用了BaseActivity中的initBackToolbar(Toolbar

toolbar, @StringRes int title, @DrawableRes int navigationIcon)方法

显然这个方法并没有对距离有任何修改。

那么我们在来看这个BaseActivity中的方法,它给Toolbar设置了title和navigationIcon

但是并不能看到其中有对之间的距离有做相应修改,我们翻看其他myclasses下的类,也并没有发现。

那么,问题看来只能是出现在Toolbar中了,那么来看一下Toolbar代码。

好长!相信没有完整的时间和计划大家是不会想好好看完这段代码的。那么我们直接来看里面

最重要的控制输出的代码onLayout(boolean changed, int l, int r, int b)

final int paddingLeft = getPaddingLeft();

//首先是获取系统的偏移量

int left = paddingLeft;

//这段代码用来计算Navigation的Layout

if (shouldLayout(mNavButtonView)) {

if (isRtl) {

right = layoutChildRight(mNavButtonView, right, collapsingMargins,

alignmentHeight);

} else {

//计算完之后left的距离为paddingLeft+mNavButtonView的宽度+mNavButtonView

自身的偏移量

left = layoutChildLeft(mNavButtonView, left, collapsingMargins,

alignmentHeight);

}

}

//核心的方法,返回就是那个让距离错误的值

final int contentInsetLeft = getCurrentContentInsetLeft();

//left会从之前的left值也就是计算过Navigation的距离之后 和contentInsetLeft比较,取最大值

left = Math.max(left, contentInsetLeft);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值