xamarin/Xamarin.Forms

Setting width of master page is not working for tablet.

Open

#8,909 opened on Dec 16, 2019

 (5 comments) (1 reaction) (0 assignees)C# (1,926 forks)batch import
e/4 :clock4:help wantedinactivep/Androidp/tablett/bug :bug:up-for-grabs

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

  1. 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); }
     }
    

    }

  2. 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

  1. It's master page should get fixed(Which is working fine).
  2. Width of master page should get changed as per the "DrawerWidth" peoperty.

Actual Behavior

  1. 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 MasterPageWidthBug )

Screenshots

Reproduction Link

Contributor guide