我在屏幕上显示了一个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.Height
和snackbarView.MinimumHeight
,但它总是返回0。
有人可以帮我解决这个问题吗?
答案 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);
});
我希望对您有帮助