Добавление вертикальной полосы прокрутки к AlertDialog в Android?

Ошибка связана с неправильной настройкой react-i18next в вашей среде тестирования. translate() оборачивает ваш компонент и находится вне контекста поставщика в вашей тестовой среде. Для макета библиотеки вы можете посмотреть здесь: https://react.i18next.com/misc/testing . Тем не менее, меня раздражает насмешка, и, поскольку вы не тестируете ее функциональность, я обычно просто смотрю на завернутый компонент следующим образом:

const wrapper = shallow();

20
задан S.R 8 September 2017 в 04:33
поделиться

1 ответ

На Android Q полосы прокрутки может всегда делаться видимым.

После создания и показа диалогового окна, найдите TextView, содержащий сообщение, и измените его как это. (BTW вызов к setMaxLines(5) должен только ограничить количество видимых строк для демонстрации прокрутки. Установите его, как Вы будете, или удалять его):

    TextView textView = (TextView) dialog.findViewById(android.R.id.message);
    textView.setMaxLines(5);
    textView.setVerticalScrollBarEnabled(true);
    textView.setMovementMethod(new ScrollingMovementMethod());
    textView.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET);
    textView.setScrollbarFadingEnabled(false);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
        textView.setVerticalScrollbarTrackDrawable(m_mainActivity.getResources().getDrawable(R.drawable.scrollbar_track_vertical));
        textView.setVerticalScrollbarThumbDrawable(m_mainActivity.getResources().getDrawable(R.drawable.scrollbar_thumb_vertical));
    }

Два drawables необходимы.

Для app/src/main/res/drawable/scrollbar_thumb_vertical.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <gradient
        android:angle="0"
        android:endColor="#D8D8D8"
        android:startColor="#F7F7F7" />

    <corners android:radius="6dp" />

</shape>

И для app/src/main/res/drawable/scrollbar_thumb_vertical.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="0"
        android:endColor="#757575"
        android:startColor="#A0A0A0" />

    <corners android:radius="6dp" />
</shape>
0
ответ дан 29 November 2019 в 22:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: