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