Клип содержание ActivityView - PullRequest
1 голос
/ 31 марта 2020

Я внедряю пользовательский модуль запуска в Android, отображая сторонние приложения с помощью ActivityView. Я хочу обрезать содержимое этих ActivityViews в произвольную форму (кроме Circle, Rectangle, RoundedRectangle, Ring ...).

Я уже пытался вызвать clipPath / drawPath на dispatchDraw холст родительского элемента viewgroup, который отлично работает для всех детей, кроме ActivityView. Даже сам ActivityView и его SurfaceView, на который ссылаются, кажутся отсеченными в соответствии с моим заданным путем (если я добавлю solid цвет для тестирования). Но визуализированный контент остается неизменным. Управление полотном SurfaceView (которое вы получаете, вызывая getHolder().lockCanvas()) также не имеет никакого эффекта.

Я думаю, что это как-то связано с виртуальным отображением и / или различными SurfaceControls, которые используются ActivityView, но Я не имею ни малейшего понятия, как установить области отсечения / пути для этих классов.

У кого-нибудь есть идеи, как решить эту проблему?

Подсказка: я не могу закрасить содержимое ActivityViews так, как хочу для отображения обоев системы в прозрачных областях.

...