donkingliang
donkingliang
ConsecutiveScrollerLayout会代理子view的滑动,所以只有外层的ConsecutiveScrollerLayout能正常监听滑动事件。子view不能监听
每个标签的布局都是一个TextView,TextView是可以显示图片的。不过我没有提供自定义属性设置。你可以自己处理的。 setLabels(labels, new LabelTextProvider() { @Override public CharSequence getLabelText(TextView label, int position, String data) { // 可以在这里给label加上icon。 return data; }
用SmartRefreshLayout嵌套ConsecutiveScrollerLayout可以上拉加载。如果你想用监听滑动到最后一个item的方式。ConsecutiveScrollerLayout也有提供setOnVerticalScrollChangeListener的监听方法。
的确是这样。下沉时只是把View的图层放到下层,所以上层View如果是透明的,的确是会看到的。所以只能给上层View设置背景。
> > 的确是这样。下沉时只是把View的图层放到下层,所以上层View如果是透明的,的确是会看到的。所以只能给上层View设置背景。 > > 如果在containerConsecutive.stickyOffset = 0的时机把下沉的View做invisible,不等于0的时候再visible,这样行不 用stickyOffset判断不行,stickyOffset默认就是0,你可以判断下沉的View完全隐藏时invisible,我的 demo中就是 scrollY > flSink.getHeight()时完全隐藏。
labelsView.setLabels(testList, new LabelsView.LabelTextProvider() { @override public CharSequence getLabelText(TextView label, int position, TestBean data) { // 在这里可以给你的标签项单独设置属性。比如标签背景,文字颜色等: label.setBackgroundResource(resId); return data.getName(); } });
SmartRefreshLayout不能放在ConsecutiveScrollerLayout的里面,无论是什么位置。除非SmartRefreshLayout是局部滑动的,app:layout_isConsecutive="false" 。则没有这个限制。
目前是没有判断标签是否是用户手动选中的,因为无论是用户点击选中还是初始化是默认选中或者调用setSelects、setCompulsorys选中,都是调用相同的方法处理的,而且区分这个的意义不大。 但是你这个需求其实是可以实现的,你可以setOnLabelClickListener()监听标签的点击事件,用户通过点击改变标签状态时会回调这个监听,如果是默认选中或者通过代码设置选中,就不会回调这个监听。这样你就可以记录那些标签是用户手动选中了。 在点击监听的回调里判断当前标签是否选中:mLabelView.getSelectLabels().contains(position);
我这边测试,键盘弹出使用页面有压缩啊
你使用的是4.0.0版本吗?是不是键盘挡住了布局,你没有手动滑一下啊。