布局文件的编写

据效果我们可以分析我的要做的功能布局效果,首先,整个布局存在一个头部的滑动操作区域,包括标题栏和搜索栏,然后整个布局还包含了一个滑动控件,滑动控件我们可以使用ScrollView或者NestedScrollView,过程中我们需要监听获取上下滑动的距离,因此需要自定义我们的滑动控件,获取滑动的距离:

自定义滑动控件:AnimationNestedScrollView

public class AnimationNestedScrollView extends NestedScrollView {
private OnAnimationScrollChangeListener listener;

public AnimationNestedScrollView(@NonNull Context context) {
super(context);
}

public AnimationNestedScrollView(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}

public AnimationNestedScrollView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

public void setOnAnimationScrollListener(OnAnimationScrollChangeListener listener) {
this.listener = listener;
}

public interface OnAnimationScrollChangeListener {
void onScrollChanged(float dy);
}

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
if (listener != null) {
listener.onScrollChanged(getScrollY(http://www.amjmh.com/v/) * 0.65f);//x0.65 使位移效果更加平滑 解决手指按住停留时抖动问题
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
这里我使用了NestedScrollView 来实现自定义控件,使用ScrollView也是一样的效果, 中间主要设置了滑动的监听方法,获取滑动的距离。
实现了自定义控件后,我们开始编写布局文件:
————————————————

posted @ 2019-08-20 18:10  李艳艳665  阅读(120)  评论(0编辑  收藏  举报