Ошибка связана с неправильной настройкой react-i18next
в вашей среде тестирования. translate()
оборачивает ваш компонент и находится вне контекста поставщика в вашей тестовой среде. Для макета библиотеки вы можете посмотреть здесь: https://react.i18next.com/misc/testing . Тем не менее, меня раздражает насмешка, и, поскольку вы не тестируете ее функциональность, я обычно просто смотрю на завернутый компонент следующим образом:
const wrapper = shallow(
На 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>