View绘制之ScrollBar绘制

本文探讨了在Android中,当为View设置rightPadding后ScrollBar绘制位置改变的现象。通过分析View的draw(Canvas canvas)方法,揭示了ScrollBar在onDrawForeground中绘制的过程。重点解析了computeVerticalScrollRange、computeVerticalScrollOffset和computeVerticalScrollExtent如何决定ScrollBar的显示与大小,以及getVerticalScrollBarBounds和getStraightVerticalScrollBarBounds如何定位ScrollBar。此外,还提到了mUserPaddingRight和scrollbarStyle属性对ScrollBar位置的影响,介绍了四种不同的scrollbarStyle取值及其效果。
摘要由CSDN通过智能技术生成

   对View设置rightPadding后,发现ScrollBar绘制的位置发生了变化。为知其缘由,需要来看看View的绘制。

View绘制的是从draw(Canvas canvas)开始的,在此方法中View进行了6部分的绘制操作。其中ScrollBar的绘制是在onDrawForeground中发生的。

                      

                        

因为View设置的是绘制竖直方向的滚动条,所以需要分析下面的逻辑

       其中computeVerticalScrollRange,computeVerticalScrollOffset,computeVerticalScrollExtent方法决定了ScrollBar是否显示,ScrollBar的大小。当需要自己控制ScrollBar绘制时,这三个方法是有必要重写的。

        当ScrollBar的大小确定后,ScrollBar在View中的位置是由getVerticalScrollBarBounds的来实现的,并

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值