我只是在gridview中的某个项阻止它时才会隐藏图像视图。
gridview设置为match_parent,imageview位于右下方,所以实际上它意味着一旦我们得到大约8个项目就应该隐藏它。我知道我可以创建一些静态逻辑来隐藏一定数量的项目,但这对所有设备都不会有效。
是否存在碰撞类型或任何方法来检查视图是否被子视图(gridview项目)阻止。
答案 0 :(得分:0)
这是通过一些奇怪的解决方案解决的:
(C#Xamarin - 可以很容易地翻译成Java)
var size = this.connectionGrid.ChildCount;
var shouldHide = false;
var logoRect = new Rect();
this.appLogo.GetHitRect(logoRect);
for (int i = 0; i < size; i++)
{
var gridChild = this.connectionGrid.GetChildAt(i);
var childRect = new Rect();
gridChild.GetHitRect(childRect);
if (childRect.Intersect(logoRect))
{
shouldHide = true;
}
}
this.appLogo.Visibility = shouldHide ? ViewStates.Invisible : ViewStates.Visible;