我使用此https://github.com/idunnololz/AnimatedExpandableListView/blob/master/src/com/idunnololz/widgets/AnimatedExpandableListView.java启用了动画(展开和收缩)默认的android'd expandable listview。
但是,我面临的一个限制是将当前展开的点击移动到顶部。
我尝试了setSelectionFromTop(groupPosition, 0)
这是一个问题:
- 如何添加动画以使其位于顶部?
- 如何将它带到顶部到特定高度。让我们说从顶部低于10px。
任何指针都会令人惊叹。
注意:解决方案应该适用于sdk 14及更高版本。
答案 0 :(得分:2)
任何指针都会令人惊叹。
您可以使用android-advancedrecyclerview。 Recycler视图本身是一个功能强大的小部件,具有很多功能但是对于您的问题,您可以查看MyExpandableItemAdapter.java。
- 如何添加动画以将其置于顶端?
public void scrollToPosition (int position)
public void smoothScrollToPosition (int position)
- 如何将它带到顶部到特定高度。让我们说从顶部低于10px。
答案 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)