在android中使用Flinged时展开listView

时间:2016-02-26 07:45:06

标签: android listview

我想创建可扩展的ListView。

enter image description here enter image description here

所以,我找到了一些方法,并在listview中设置了监听器。

像这样。

listView.setOnScrollListener(new OnListViewScrollListener() {
            @Override
            protected void onFlinging() {
                Log.d(TAG, "onFlinging");
            }

            @Override
            protected void onScrollFinished() {
                Log.d(TAG, "onScrollFinished");

            }

            @Override
            protected void onScrolling() {
                Log.d(TAG, "onScrolling");
            }
        });

这里是OnListViewScrollListener.java

public abstract class OnListViewScrollListener implements AbsListView.OnScrollListener {
    private final String TAG = OnListViewScrollListener.class.getSimpleName();
    int mCurrentVisibleItemCount;

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        if(isValidItemCount()){
            switch (scrollState){
                case SCROLL_STATE_FLING :
                    onFlinging();
                    break;

                case SCROLL_STATE_IDLE :
                    onScrollFinished();
                    break;

                case SCROLL_STATE_TOUCH_SCROLL :
                    onScrolling();
                    break;
            };
        }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        this.mCurrentVisibleItemCount = visibleItemCount;
        Log.d(TAG, "firstVisibleItem,  visibleItemCount, totalItemCount # ["+firstVisibleItem+", "+visibleItemCount+", "+totalItemCount+"]");
    }

    private boolean isValidItemCount() {
        return mCurrentVisibleItemCount > 0;
    }

    protected abstract void onFlinging();
    protected abstract void onScrollFinished();
    protected abstract void onScrolling();
}

但我不知道如何扩展包含许多行照片的列表视图。

像劳拉里一样。

请告诉我如何扩展listview。

感谢。

2 个答案:

答案 0 :(得分:0)

Here是如何使用Animation调整视图大小的示例。您可以将其用于ListView的展开和折叠。

如果您希望ListView在展开时显示更多细节(更大的照片等),您需要调用notifyDataSetChanged并在动画完成后返回适配器中的不同视图。

答案 1 :(得分:0)