在Xamarin.android中获取小吃店的高度

时间:2018-10-22 08:56:54

标签: android xamarin xamarin.android

我在屏幕上显示了一个ListView,并且有一个Snackbar被无限期显示。 ListView的最后一个元素由于Snackbar而被部分覆盖。

我正在尝试获取Snackbar的高度,并以编程方式将其作为底边距提供给ListView。

Snackbar snackbar = 
Snackbar.Make(_refresher,"message",Snackbar.LengthIndefinite);

snackbar.Show();
View snackbarView = (Snackbar.SnackbarLayout)snackbar.View;
int h = snackbarView.MeasuredHeightAndState;

但是小吃店的高度始终为0。 我也尝试过snackbarView.HeightsnackbarView.MinimumHeight,但它总是返回0。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我对xamarin不熟悉,但是我与snakbar合作了很多次,所以可能这样工作

您需要使用view.post,因为height属性仅在视图膨胀/运行后才可用

Ref:https://developer.xamarin.com/api/type/Android.Views.View/

Ref:https://developer.xamarin.com/api/type/Java.Lang.IRunnable/

snackbar.View.Post(() => 
{

int h=snackbar.View.Height();
Log.Error ("Height", "Height"+h);

});

我希望对您有帮助