【问题标题】:Expandable listview setselectionfromTop with animation and padding带有动画和填充的可扩展列表视图 setselectionfromTop
【发布时间】:2015-05-12 05:06:04
【问题描述】:

我使用 https://github.com/idunnololz/AnimatedExpandableListView/blob/master/src/com/idunnololz/widgets/AnimatedExpandableListView.java 启用了动画(扩展和收缩)到默认的 android'd 可扩展列表视图。

但是,我面临的一个限制是将当前展开的点击移动到顶部。

我试过setSelectionFromTop(groupPosition, 0)

问题来了:
- 如何添加动画以将其带到顶部?
- 如何把它带到一个特定的高度。让我们说从顶部低于 10 像素。

任何指针都会很棒。

注意:该解决方案应在 sdk 14 及更高版本中运行。

【问题讨论】:

标签: android animation expandablelistview


【解决方案1】:

任何指针都会很棒。

您可以使用android-advancedrecyclerview。回收器视图本身是一个功能强大的小部件,具有许多功能,但对于您的问题,您可以查看MyExpandableItemAdapter.java

  • 如何添加动画使其置顶?

public void scrollToPosition (int position)

public void smoothScrollToPosition (int position)

  • 如何将其提升到特定高度。假设距离顶部 10 像素以下。

public void scrollBy (int x, int y)

public void smoothScrollBy (int dx, int dy)

【讨论】:

    【解决方案2】:

    这肯定适用于您使用的库,我对自己的库感到厌倦,让我知道您需要一个示例。

    long packedPosition = mListView.getPackedPositionForGroup(groupPosition);
    
    final long flatpostion = mListView.getFlatListPosition(packedPosition);
    
    
    
    expandableListView.expandGroupWithAnimation(groupPosition);
    
    
    
    new Handler().postDelayed(new Runnable() {
    
        @Override
    
        public void run() {
    
            getActivity().runOnUiThread(new Runnable() {
    
                @Override
    
                public void run() {
    
                    mListView.smoothScrollToPositionFromTop((int) flatpostion, HomeActivity.LIST_HEADER_HEIGHT, 200);
    
                }
    
            });
    
        }
    
    }, 300);
    

    【讨论】:

      【解决方案3】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-18
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2018-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多