Как сделать фон SurfaceView прозрачным без использования функции setZOrderOnTop (true)? - PullRequest
0 голосов
/ 01 июля 2019

Я программирую вид игры проигрывателя LuckyPan из github . Как видите, он расширяет SurfaceView.

И вот моя проблема:

  1. Мне нужен фон под проигрывателем с изображением, это означает, что мне нужен SurfaceView с прозрачным фоном;
  2. setZOrderOnTop(true) - я обнаружил, что он делает прозрачный фон, но он сделал SurfaceView над всем в приложении;
  3. Теперь, когда я запускаю приложение на коротком телефоне, проигрыватель будет над «нижней вкладкой», которая находится внизу экрана.

Итак, есть ли у кого-нибудь способ сделать одно из следующих: Сделать SurfaceView прозрачным фоном без использования setZOrderOnTop(true).

OR

Установите вид над SurfaceView, который уже вызывает setZOrderOnTop(true).

Это ошибка SurfaceView, которая всегда имеет непрозрачный фон, если не используется setZOrderOnTop(true)? Если да, то почему Google не исправляет это более десяти лет? Или я что-то пропустил? Спасибо за помощь.

1 Ответ

0 голосов
/ 01 июля 2019

Сделать SurfaceView прозрачным фоном без использования setZOrderOnTop (true)

surface.setBackgroundColor(resources.getColor(R.color.transparent))

Forgot: transparent: это значение цвета в colors.xml, которое содержит значение "# 0000000«

...