xamarin установить положение переключателя при загрузке страницы iOS задержка - PullRequest
0 голосов
/ 02 августа 2020

Мы используем Xamarin для создания мобильного приложения, на одной странице есть переключатель, который мы устанавливаем в зависимости от некоторых различных состояний в приложении, например, BT connected et c. Когда мы запускаем его на Android, это нормально, но в версии iOS есть небольшая задержка (<1se c), что означает, что страница загружается и пользователь может видеть положение перемещения переключателя. </p>

Я пробовал разные способы установить переключатель перед загрузкой страницы, но не могу найти способ установить переключатель до загрузки страницы или запуска xaml. Я добавил переключатель добавления в OnAppearing, но все еще есть эта задержка при загрузке страницы, и пользователь может видеть, как переключатель движется.

Может ли кто-нибудь посоветовать, как я могу установить положение переключателя, чтобы не видеть движения переключателя положение и установите для него значение true или false, прежде чем пользователь сможет увидеть переключатель и страницу.

       protected override void OnAppearing()
       {
        base.OnAppearing();
       

        SettingGrid.Children.Add(myswitch = new Xamarin.Forms.Switch()
        {
            VerticalOptions = LayoutOptions.Start,
            HorizontalOptions = LayoutOptions.Fill,
            ThumbColor = Color.Red

        }, 4, 8);


    }

1 Ответ

0 голосов
/ 03 августа 2020

Я пробовал использовать общий код на локальном сайте, но не могу найти разницу между ними. Может быть, вы можете поделиться файлом gif, тогда я пойму, какие эффекты вам нужны.

Может ли кто-нибудь посоветовать, как я могу установить положение переключателя, чтобы не видеть положение переключателя, и установить его true или false прежде, чем пользователь сможет увидеть переключатель и страницу.

Об этом, вы можете добавить Switch в Xaml или с кодированием ранее, не нужно добавлять его, когда OnAppearing. может изменить свойство myswitch.IsVisible, когда OnAppearing. Так, как показано ниже:

protected override void OnAppearing()
{
    base.OnAppearing();

    myswitch.IsToggled = true;
    myswitch.IsVisible = true;
}

Код Xaml добавил Switch:

<Grid x:Name="MyLayout" >
    <Label Text="Welcome to Xamarin.Forms!"
        VerticalOptions="Start" 
        HorizontalOptions="CenterAndExpand" />
    <Switch x:Name="myswitch" 
            VerticalOptions="Start" 
            HorizontalOptions="Fill" 
            ThumbColor="Red" 
            Margin="4,8,0,0"/>
...
</Grid>
...