我正在尝试创建一个DrawerLayout
以编程方式使用Xamarin.Android,但是我在尝试添加时遇到了问题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);
正如你所注意到的..我不知道该传递什么gravity
范围
函数的定义在DrawerLayout
类是这样的:
public LayoutParams(int width, int height, int gravity);
所以我必须通过int
为了gravity
,但是怎么办?
我已经尝试过以下操作:
myListView.LayoutParameters = new DrawerLayout.LayoutParams( width: 240, height: DrawerLayout.LayoutParams.MatchParent, gravity: Gravity.LEFT);
它给了我错误:
“重力”不包含“左”的定义
还尝试过:
myListView.LayoutParameters = new DrawerLayout.LayoutParams( width: 240, height: DrawerLayout.LayoutParams.MatchParent, gravity: GravityFlags.Left);
但给了我一个错误:
无法从“Android.Views.GravityFlags”转换为“int”
希望您对解决方案有一个想法..并提前致谢