Xamarin.Android: параметр гравитации в DrawerLayout.LayoutParams
Я пытаюсь создать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
Надеюсь, у вас есть идея о решении .. и заранее спасибо