Android 安卓(Xamarin)获得高度视角
如何获得正在实现的gridview的高度?只需调用gridview.Height返回一个0,因为在我调用它的时候网格还没有被绘制出来,因此在环顾四周之后,我了解到我必须实现一个视图树观察者。我确实成功地获取了高度,但由于无法停止视图树观察者并检索高度,因此无法使用它。我也找到了,但还没有解决 这是我的密码:Android 安卓(Xamarin)获得高度视角,android,xamarin,layout,Android,Xamarin,Layout,如何获得正在实现的gridview的高度?只需调用gridview.Height返回一个0,因为在我调用它的时候网格还没有被绘制出来,因此在环顾四周之后,我了解到我必须实现一个视图树观察者。我确实成功地获取了高度,但由于无法停止视图树观察者并检索高度,因此无法使用它。我也找到了,但还没有解决 这是我的密码: // Get gridview height ViewTreeObserver vto = gridview.ViewTreeObserver; vto.GlobalLayout += (
// Get gridview height
ViewTreeObserver vto = gridview.ViewTreeObserver;
vto.GlobalLayout += (sender, args) =>
{
if (GRID_HEIGHT > 0)
{
GRID_HEIGHT = gridview.Height;
// Configure gridview
gridview.Adapter = new CustomAdapter(this);
return;
}
};
当代码被执行时,它只会永远循环。如何退出循环,或者是否有其他方法获取gridview的高度?非常感谢您的帮助。您可以在以下任何视图中使用
Post
方法:
int height = 0;
gridview.Post(() =>
{
height = grid.Height;
});
很高兴这有帮助。