Xamarin.Android 使用PopupMenu遇到的问题

最近在做一个效果,弹出列表选项,使用了一个开源库Xamarin.Forms.InputKit,其中DropDown控件用到了PopupMenu。

PopupMenu在使用过程中有一个需要注意的地方,在Android6.0以下版本中的适配问题。
在原生Android中,PopupMenu有两个:

  1. Android.Widget.PopupMenu
  2. Android.Support.V7.Widget.PopupMenu

如果使用Android.Widget.PopupMenu遇到的问题是,PopupMenu在Android6.0以下不能设置其Gravity。处理方式只能根据系统版本来分别处理:
if (OS.Build.VERSION.SdkInt >= OS.BuildVersionCodes.M) { popup.Gravity = GravityFlags.Right; }
最优的解决方式当然就是使用Android.Support.V7.Widget.PopupMenu。
在Xamarin.Android中还需要注意一个问题。
经过数次测试,发现在MonoAndroid80版本中使用PopupMenu,无论是使用哪个包中的PopupMenu,无论是否设置Gravity,如果在Android6.0以下版本必然崩溃。
这时需要把MonoAndroid80升级到81及以上版本就能解决该问题!

posted @ 2018-09-16 22:49  Devin.Zhou  阅读(616)  评论(0编辑  收藏  举报