Setting width of master page is not working for tablet.
#8,909 opened on Dec 16, 2019
Repository metrics
- Stars
- (5,644 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
Description
I am trying to change width of master page in landscape mode for tablet. I have used renderer for that. Using that i am able to change the master page width in mobile phone. But it is not working for tablet.
Steps to Reproduce
-
Create one xamarin forms project in Master-Detail template. 2.Create MasterDetailPagePCL class fro renderer.
public class MasterDetailPagePCL : MasterDetailPage { public static readonly BindableProperty DrawerWidthProperty = BindableProperty.Create("DrawerWidth", typeof(float), typeof(MasterDetailPagePCL), 0.1f, BindingMode.TwoWay, null);
public float DrawerWidth { get { return (float)GetValue(DrawerWidthProperty); } set { SetValue(DrawerWidthProperty, value); } }}
-
In Android project I have added this renderer.
public class MasterDetailAndroidRenderer : MasterDetailRenderer { public MasterDetailAndroidRenderer(Context context) : base(context) {
}
public override void AddView(Android.Views.View child)
{
MasterDetailPagePCL page = (MasterDetailPagePCL)this.Element;
LayoutParams p = (LayoutParams)child.LayoutParameters;
p.Width = 160;
base.AddView(child,p);
}
}
4. Deploy this project in tablet. 5. Rotate tablet to landscape mode.
Expected Behavior
- It's master page should get fixed(Which is working fine).
- Width of master page should get changed as per the "DrawerWidth" peoperty.
Actual Behavior
- Width of master page not changing as per the "DrawerWidth" peoperty.
Basic Information
Xamarin Forms version: 4.4.0.991265
- IDE:
- Platform Target Frameworks:
- Android:
- Android Support Library Version:
- Nuget Packages:4.4.0.991265
- Affected Devices:honor tablet(Android 7.0
)