Как добавить анимацию в нижний лист при изменении его состояния - PullRequest
0 голосов
/ 05 февраля 2020

Мое приложение содержит нижний лист, и я использую следующие методы, чтобы изменить его состояние

 public void toggleBottomSheet() {
    if (sheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
        sheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
    } else {
        sheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
    }
}

Но в некоторых устройствах оно не показывает анимацию должным образом (снизу вверх), оно открывается прямо как всплывающее окно. Как добавить анимацию так, чтобы она смотрела снизу.

1 Ответ

0 голосов
/ 05 февраля 2020

Не уверен насчет этого пункта "в некоторых устройствах" , не могли бы вы упомянуть версию android и другие характеристики? Я предлагаю добавить BottomSheetBehavior.BottomSheetCallback к BottomSheetBehavior

и в методе onSlide поместить log.d (), чтобы проверить, действительно ли он скользящий. Это поможет выяснить причину. Также убедитесь, что вы добавили правильный BootmSheetBehavior, и вы можете попробовать, явно указав peeckHeight .

  yourBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback()
    {
        @Override
        public void onStateChanged(@NonNull View view, int newState)
        {
            if (newState == BottomSheetBehavior.STATE_EXPANDED)
            {

            }
        }

        @Override
        public void onSlide(@NonNull View view, float v)
        {
            Log.d("tag", "sliding from bottom to top");

        }
    });
...