Я хотел представить анимацию SnackBar
сверху, вместо обычного поведения, отображающего SnackBar
снизу. Это легко взломать?SnackBar сверху. Это возможно?
ответ
Невозможно. В документации говорится, что
Они показывают краткое сообщение на нижней экрана на мобильном и левом нижнем углу на больших устройств. Закуски отображаются выше всех остальных элементов на экране, и только один может отображаться одновременно.
Вы можете использовать третью библиотеку части, как, например, Crouton
это возможно. проверить эту библиотеку, сделанные мной https://github.com/AndreiD/TSnackBar
В основном вы добавляете 2 новые анимации для перемещения сверху и изменяете гравитацию макета. Вот и все :)
Позже Редактировать: происходит ошибка. если кто-то хочет, чтобы провести некоторое время в фиксируя его, мы бы все ценим это :)
CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
Snackbar snackbar = Snackbar.make(coordinatorLayout, "Text", Snackbar.LENGTH_LONG);
View view = snackbar.getView();
CoordinatorLayout.LayoutParams params =(CoordinatorLayout.LayoutParams)view.getLayoutParams();
params.gravity = Gravity.TOP;
view.setLayoutParams(params);
snackbar.show();
Я пытался заставить это работать более 48 часов подряд. Я знаю, что это не рекомендуется, но поскольку кто-то измучен от попыток всего, что я нашел раньше, спасибо вам большое. Ваше решение было единственным, что сработало для меня. – Shadow
К сожалению, ваша библиотека страдает от огромного жука, в котором TSnackBar появится только один раз, если вы меняете активность/фрагмент, поэтому, к сожалению, это непригодно для производства. –
@ HenriquedeSousa огромный..показать, скажем, 100 метров в высоту? или огромный, как 150 кг? .... не успел это исправить, но вы можете сделать PR. – OWADVL
Я пытаюсь это исправить, но я не могу найти причину, если вы знаете, где это просто объяснить, и я попытаюсь посмотреть на это в свободное время, спасибо! –