【问题标题】:Resize top view on listview scrolling调整列表视图滚动的顶视图大小
【发布时间】:2015-08-03 15:40:40
【问题描述】:

我在主布局底部的列表视图上方有一个布局。 当我滚动列表时,我想让顶部布局更小。我现在正在尝试使用列表视图滚动侦听器来执行此操作并更改布局参数的宽度和高度。 问题是这个过程一点也不顺畅,消耗大量资源。 如何在不使用布局参数的情况下重新调整顶视图的大小(消耗大量资源)?

我为列表视图设置的滚动监听器:

公共类 EndLessScrolling 实现 AbsListView.OnScrollListener {

    private int amountViewInitDimension = 0;

    public EndLessScrolling() {}

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {

    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

        //amountView on scroll resize effect
        if (firstVisibleItem < 5) {
            View amountView = getActivity().findViewById(R.id.select_receiver_amount_parent);

            if (amountView != null) {
                ViewGroup.LayoutParams params = amountView.getLayoutParams();

                if (amountViewInitDimension == 0) {
                    amountViewInitDimension = params.width;
                }

                params.width = amountViewInitDimension - firstVisibleItem * amountViewInitDimension / 10;
                params.height = amountViewInitDimension - firstVisibleItem * amountViewInitDimension / 10;

                receiverAmount.setTextSize(TypedValue.COMPLEX_UNIT_SP, amountTextSize - firstVisibleItem * zoomStep);
                dollarSign.setTextSize(TypedValue.COMPLEX_UNIT_SP, dollarSignTextSize - firstVisibleItem * zoomStep / 2f);

                amountView.setLayoutParams(params);
            }
        }
    }
}

【问题讨论】:

  • 您能否通过添加所需的相关代码来改进您的问题,以便社区能够解决您的问题。

标签: android listview scroll resize


【解决方案1】:

你见过这个图书馆吗?我想这就是你想要的。

https://github.com/carlonzo/StikkyHeader

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多