1. 声明
第一次写博客好紧张呀!
最近在发现写LinearLayout好多页面一个手机上刚刚好满屏,换一个手机就回出现底部有一部分布局看不到完整布局,第一个想到就是在外面套一层ScrollView, 一下子就解决问题,但是每次都要套一层布局感觉麻烦了,而且套一层布局,如果布局有颜色或者半透明的话,那么在填充布局到界面上时就会多绘画一个层, 所以最近重写一个垂直方向自带滚动效果的LinearLayout,暂时只支持垂直方向的滚动效果哦。
2. 开工
废话不说了直接上代码:
public class ScrollLinearLayout extends LinearLayout implements GestureDetector.OnGestureListener {
protected OverScroller mScroller; //滚动辅助类
protected VelocityTracker mVelocityTracker; //滑动速度跟踪器
protected GestureDetector mGestureDetector; //手势检测
private int mMaxVelocity; //触发fling最大滑动速度
private int mScrollRange; //可滚动最大距离(不包含最后一个子控件marginBottom)
public ScrollLinearLayout(Context context) {
this(context, null);
}
public ScrollLinearLayout(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, -1);
}