我正在尝试使用Xamarin.Android以编程方式创建DrawerLayout,但是在尝试添加应该从左侧拖动的ListVIEw时遇到了问题.
这是我的代码:
DrawerLayout myDrawerLayout = new DrawerLayout(this);myDrawerLayout.LayoutParameters = new linearLayout.LayoutParams(VIEwGroup.LayoutParams.MatchParent, VIEwGroup.LayoutParams.MatchParent);SetContentVIEw(myDrawerLayout);FrameLayout myFrameLayout = new FrameLayout(this);myFrameLayout.LayoutParameters = new DrawerLayout.LayoutParams(VIEwGroup.LayoutParams.MatchParent, VIEwGroup.LayoutParams.MatchParent);myFrameLayout.SetBackgroundcolor(AndroID.Graphics.color.Gray);myDrawerLayout.AddVIEw(myFrameLayout);ListVIEw myListVIEw = new ListVIEw(this);myListVIEw.SetBackgroundcolor(AndroID.Graphics.color.Green);myListVIEw.LayoutParameters = new DrawerLayout.LayoutParams( wIDth: 240, height: DrawerLayout.LayoutParams.MatchParent, gravity: ???????? );myDrawerLayout.AddVIEw(myListVIEw);
DrawerLayout类中的函数定义如下:
public LayoutParams(int wIDth, int height, int gravity);
所以我必须通过int来获取引力,但是如何?
我尝试了以下方法:
myListVIEw.LayoutParameters = new DrawerLayout.LayoutParams( wIDth: 240, height: DrawerLayout.LayoutParams.MatchParent, gravity: Gravity.left);
它给我错误:
‘Gravity’ does not contain a deFinition for ‘left’
还尝试了:
myListVIEw.LayoutParameters = new DrawerLayout.LayoutParams( wIDth: 240, height: DrawerLayout.LayoutParams.MatchParent, gravity: GravityFlags.left);
但给我一个错误:
cannot convert from ‘AndroID.VIEws.GravityFlags’ to ‘int’
希望您对解决方案有个了解..并在此先感谢
解决方法:
您必须将标志转换为int像
new DrawerLayout.LayoutParams(240, DrawerLayout.LayoutParams.WrapContent, (int)(GravityFlags.Start | GravityFlags.left)).
总结 以上是内存溢出为你收集整理的Xamarin.Android:DrawerLayout.LayoutParams中的重力参数全部内容,希望文章能够帮你解决Xamarin.Android:DrawerLayout.LayoutParams中的重力参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)