私はDrawerLayout
プログラムでXamarin.Androidを使用して、私は左ドラッグ可能形式でなければなりませんListView
を追加しようとする問題に直面した。..Xamarin.Android:DrawerLayout.LayoutParams
は私のコードです:
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);
だから私は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'
はDrawerLayoutあなたはGravityCompatを使用することができますサポートパッケージからクラスであるので、あなたは
new DrawerLayout.LayoutParams(240, DrawerLayout.LayoutParams.WrapContent, (int)(GravityFlags.Start | GravityFlags.Left)).
'私を与えるERROR'何のエラー続けますか? –