Вращенные представления Android не обрезаются, когда setClipChildren (false), но не активируются - PullRequest
0 голосов
/ 23 января 2019

Я новичок в Android и в настоящее время пытаюсь перенести мою карточную игру с Windows UWP на Android, используя Xamarin для нативного Android.Моя проблема показана на следующих рисунках.На каждой стороне экрана показано 4 вида карт.Каждая карточная комбинация содержит 3 карты.Стрелки карты создаются в обычном положении, а затем поворачиваются на -90, 180, +90 градусов.Руки карты на левой и правой стороне рисунка № 1 обрезаны, потому что ширина контейнера (белая рамка) слишком мала.После вызова setClipChildren (false) для всех родителей стрелки карты слева и справа больше не обрезаются, как показано на рисунке №2.Но область клипа все еще эффективна для событий щелчка.Верхняя и нижняя карточка с красными карточками на спинах получают только события щелчка, если указатель находится в области клипа.

Я уже пытался увеличить левый контейнер до квадрата с отрицательной левой позицией.Но результат был тот же.Как я мог решить эту проблему?

картинка # 1

картина # 2

1 Ответ

0 голосов
/ 30 января 2019

Единственное решение, которое я нашел сам до сих пор, - это создание дополнительных лежащих растровых изображений для карт справа и слева:

var matrix = new Matrix();
matrix.PostRotate(-90);
var targetBitmap = Bitmap.CreateBitmap(sourceBitmap, 0, 0, sourceBitmap.Width, sourceBitmap.Height, matrix, true);
_imageView.SetImageBitmap(targetBitmap);

Эти швы не являются наиболее эффективным решением.

Хотелось бы иметь метод SetClipChildren (false, setClickable: true).

...