可扩展的listview setselectionfromTop,带有动画和填充

时间:2015-05-12 05:06:05

标签: android animation expandablelistview

我使用此https://github.com/idunnololz/AnimatedExpandableListView/blob/master/src/com/idunnololz/widgets/AnimatedExpandableListView.java启用了动画(展开和收缩)默认的android'd expandable listview。

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

我尝试了setSelectionFromTop(groupPosition, 0)

这是一个问题:
    - 如何添加动画以使其位于顶部?
    - 如何将它带到顶部到特定高度。让我们说从顶部低于10px。

任何指针都会令人惊叹。

注意:解决方案应该适用于sdk 14及更高版本。

3 个答案:

答案 0 :(得分:2)

  

任何指针都会令人惊叹。

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

  
      
  • 如何添加动画以将其置于顶端?
  •   

public void scrollToPosition (int position)

public void smoothScrollToPosition (int position)

  
      
  • 如何将它带到顶部到特定高度。让我们说从顶部低于10px。
  •   

public void scrollBy (int x, int y)

public void smoothScrollBy (int dx, int dy)

答案 1 :(得分:1)

这肯定与您使用的图书馆合作,我厌倦了我自己让我知道你需要一个样本。

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);

答案 2 :(得分:0)