如何更改 Xamarin Switch 的大小?

问题描述 投票:0回答:1

Xamarin Switch 的默认大小太大,所以我想将其缩小。我尝试设置 HeightRequest = 20,但它在任何平台上都不起作用,例如 UWP、iOS。

有没有办法改变开关尺寸(高度)?

谢谢!

詹姆斯·H.

xamarin.forms xamarin.ios
1个回答
0
投票

您可以使用 Xamarin.Forms 自定义渲染器来自定义 Xamarin.Forms 控件的外观和行为。

尝试以下步骤:

1.创建 Xamarin.Forms 自定义 CustomSwitch,子类化 Switch 控件

public class CustomSwitch : Switch
{
    public CustomSwitch()
    {
    }
}

2.使用 Xamarin.Forms 中的自定义控件。

<StackLayout>
    ...
    <local:CustomSwitch IsToggled="true"/>
</StackLayout>

3.在iOS上创建自定义渲染器。你可以用

public class CustomSwitchRenderer : SwitchRenderer
{
    public CustomSwitchRenderer()
    {
    }


    protected override void OnElementChanged(ElementChangedEventArgs<Switch> e)
    {
        base.OnElementChanged(e);

        if (Control != null)
        {

            //Control.Transform = CGAffineTransform.MakeScale(0.5f, 0.5f);
            Control.Transform = CGAffineTransform.MakeScale(2f, 2f);
        }
    }
}

希望它有效!

© www.soinside.com 2019 - 2024. All rights reserved.