В настоящее время я создаю приложение, которое отображает медиафайлы с помощью Expo-Video и VideoView. Эти элементы имеют два состояния: предварительный просмотр и открытое состояние. Когда видео открывается, фон отображается поверх видео. Эта проблема возникает только на Android; на iOS видео отображается как задумано. Моя цель — создать небольшой прозрачный черный фон позади открытого видео.
Код: Выделить всё
{isVideo && modalVideoPlayer ? (
) : (
)}
{selectedMedia.timestamp
? new Date(selectedMedia.timestamp).toLocaleDateString()
: "Unknown date"
}
Я знаю, что это вызвано тем, что SurfaceView на Android отображается по-другому; сначала он визуализируется, а потом все остальное. На сайте документации Expo textView упоминается как решение проблем с рендерингом, поэтому я попробовал его, но видео вообще не появлялось. Я также пробовал некоторые альтернативы, такие как рендеринг двух VideoView, но у одного был стиль, который делал его полностью черным, что давало видео черный фон, но его нельзя было сделать прозрачным, и я боюсь, что это аппаратно-тяжелое решение. Кроме этих подходов, я не смог найти других возможных решений.
Подробнее здесь:
https://stackoverflow.com/questions/797 ... it-wont-be