Xamarin.Android:DrawerLayout.LayoutParams中的重力参数
我正在尝试使用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);
你可以注意到..我不知道作为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);
它给了我错误:
‘重力’不包含’左’的定义
还尝试过:
myListView.LayoutParameters = new DrawerLayout.LayoutParams( width: 240, height: DrawerLayout.LayoutParams.MatchParent, gravity: GravityFlags.Left);
但是给了我一个错误:
无法从’Android.Views.GravityFlags’转换为’int’
希望您对解决方案有所了解……并提前感谢
你必须将标志强制转换为int
new DrawerLayout.LayoutParams(240, DrawerLayout.LayoutParams.WrapContent, (int)(GravityFlags.Start | GravityFlags.Left)).
由于DrawerLayout是支持包中的类,因此您可以使用GravityCompat:
myListView.LayoutParameters = new DrawerLayout.LayoutParams(width: 240, height: DrawerLayout.LayoutParams.WrapContent, gravity: GravityCompat.Start);
- BitmapFactory.DecodeByteArray导致Grow Heap(frag case)
- UnityWebRequest嵌入HTTP基本身份validation的用户+密码数据不适用于Android
- 用于GCM的服务器将通知推送到C#中的android
- Xamarin表示Android MapRenderer
- 将Unity ARCore中的AcquireCameraImageBytes()保存为存储为图像
- 用于Animate TopMargin的ObjectAnimator代理无法找到设置/获取
- GetAllNetworkInterfaces()抛出exception
- 为什么Xamarin等效的EditText.getText()返回一个字符串?
- Android:如何将ExecuteScalar移植到Java?