setClipChildren(false)但不可点击时

时间:2019-01-23 11:22:34

标签: android rotation clip

我是Android的新手,目前正在尝试使用Xamarin(用于本机Android)将纸牌游戏从Windows UWP移植到Android。我的问题如下图所示。它在屏幕的每一侧显示4张牌手视图。每张手牌可容纳3张牌。将在正常位置创建纸牌手,然后将其旋转-90、180,+ 90度。由于容器(白色框)的宽度太小,因此照片#1左右两侧的卡手被剪断了。 在所有父级上调用setClipChildren(false)后,左侧和右侧的卡片手不再被裁剪,如图2所示。但是,剪辑区域对于单击事件仍然有效。如果指针在剪辑区域内,则带有红卡背面的上下卡仅接收点击事件。

我已经尝试过将左侧容器扩大到左侧位置为负的正方形。但是结果是一样的。我该如何解决这个问题?

picture#1

picture#2

1 个答案:

答案 0 :(得分:0)

到目前为止,我自己发现的唯一解决方案是为左右手的手牌创建额外的卧式位图:

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)方法。