Расширяемое listview setselectionfromTop с анимацией и дополнением
Я включил анимацию (развернуть и скомпилировать) по умолчанию для раскрывающегося списка по умолчанию android'd, используя этот https://github.com/idunnololz/AnimatedExpandableListView/blob/master/src/com/idunnololz/widgets/AnimatedExpandableListView.java.
Однако одно ограничение, с которым я столкнулся, - это перемещение текущего расширенного клика вверх.
Я пробовал setSelectionFromTop(groupPosition, 0)
Вот вопрос:
- Как добавить анимацию, чтобы довести ее до вершины?
- Как довести его до вершины до определенной высоты. Скажем, ниже 10 пикселей сверху.
Любые указатели будут потрясающими.
Примечание. Решение должно работать от sdk 14 и выше.
Ответы
Ответ 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
Любые указатели будут потрясающими.
Вы можете использовать android-advancedrecyclerview. Представление recycler - мощный виджет с множеством функций, но для вашего вопроса вы можете взглянуть на 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)
Ответ 3