[问题] 随着ListView卷动隐藏/显示View

楼主: gcobc12632 (Ted)   2017-12-12 16:17:25
废话不多说 先上图(目前做出来的效果)
https://i.imgur.com/30HBN7i.gif
主要的想法是:
在下方ListView卷动的时候,sub 那一栏 View 可以跟着隐藏/显示。
(main:置顶标题,bottom:置底工具列)
问题是:
当 sub 隐藏的时候,ListView 下方就会出现一块与 sub 等高的空白。
以下是 code,有省略一些没关联的:
(这里用了套件 ObservableListView 来帮助辨识 ListView 的往上/往下)

if(往上 && listView.getTranslationY() == 0) {
moveTitle(listView, -sub.getMeasuredHeight());
} else if (往下 && listView.getTranslationY() == -sub.getMeasuredHeight()) {
moveTitle(listView, 0);
}
private void moveTitle(final View listView, final float y) {
ValueAnimator animator = ValueAnimator.ofFloat(
listView.getTranslationY(), y);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
float translationY = (float) animation.getAnimatedValue();
listView.setTranslationY(translationY);
listView.getLayoutParams().height = (int) (-translationY
+ listView.getMeasuredHeight());
listView.requestLayout();
}
});
animator.start();
}

卡在这里卡超久的,新的写法通常都是用 RecyclerView,
但我这里只能用 ListView…(有其他东西已经写好了,不好改)
该怎么解决下方露出空白的问题,
或是有其他更好的写法?
作者: salavida (席阿)   2017-12-12 20:53:00
用listview的addHeaderView?

Links booklink

Contact Us: admin [ a t ] ucptt.com