Длительность Snackbar не работает должным образом на некоторых устройствах - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть простой способ отобразить Snackbar с android.support.design.widget.Snackbar.Я хочу скрыть это через 3 секунды, поэтому я написал:

fun showSnackbar(text: CharSequence, view:View): Snackbar {
    val snackbar = Snackbar
        .make(view, text, 3000)

    snackbar.view.setBackgroundColor(ContextCompat.getColor(view.context, R.color.accent_color))
    snackbar.show()
    return snackbar
}

Код отлично работает на эмуляторе и на некоторых устройствах.Но когда я запускаю один и тот же код на Samsung и Xiaomi (с MIUI, на устройствах Android one такая проблема не возникает), он почти сразу скрывается без каких-либо причин.

Как это исправить?

1 Ответ

0 голосов
/ 06 декабря 2018

Я нашел причину, по которой это происходит, но пока не могу исправить.

/**
 * Returns true if we should animate the Snackbar view in/out.
 */
private boolean shouldAnimate() {
    return !mAccessibilityManager.isEnabled();
}

Это вызывается классом Snackbar и ложно на работающих устройствах, и true на устройствах, которые не работают.Кто-нибудь знает об этом?

Так что после того, как я отключил lastpass в настройках моей системы, доступность, теперь снэк-бар, анимируется, как и должна.Это безумие, как это работает.Нова лаунчер имеет такой же эффект.Я предполагаю, что любая служба в доступности, которая приведет к неработающей анимации закусочной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...