在xamarin-forms应用程序中, 我想更改左侧菜单的宽度对于android应用程序。在xamarin-forms中更改android MasterDetailPage的宽度
我试图改变宽度按下面的代码
class MyMasterDetailPage : MasterDetailPage
{
public static readonly BindableProperty DrawerWidthProperty = BindableProperty.Create<MyMasterDetailPage, int>(p => p.DrawerWidth, default(int));
public int DrawerWidth
{
get { return (int)GetValue(DrawerWidthProperty); }
set { SetValue(DrawerWidthProperty, value); }
}
}
现在Android应用程序代码。
[assembly: Xamarin.Forms.ExportRenderer(typeof(Xamarin.Forms.MasterDetailPage), typeof(MyMasterDetailRenderer))]
class MyMasterDetailRenderer : MasterDetailRenderer
{
bool firstDone;
public override void AddView(View child)
{
if (firstDone)
{
MyMasterDetailPage page = (MyMasterDetailPage)this.Element;
LayoutParams p = (LayoutParams)child.LayoutParameters;
p.Width = page.DrawerWidth;
base.AddView(child, p);
}
else
{
firstDone = true;
base.AddView(child);
}
}
}
上面的代码不起作用。 请分享如何更改Android的ap的MasterDetailPage的宽度?
p.Width = 300 not working。如果应用任何静态宽度,并且它在应用程序 – user2960398
@ user2960398中不受影响,您能告诉我您的xf版本吗?它在我身边工作,只是在pcl中定义的属性不起作用。 –
这是在移动设备上工作,但它不适用于平板电脑 – user2960398