Формы Xamarin устанавливают радиус границы всплывающего окна с помощью Rg.Плагины.Всплывающее окно

#xaml #xamarin #popup #nuget #xamarin.forms

#xaml #xamarin #всплывающее окно #nuget #xamarin.forms

Вопрос:

Я разрабатываю IOS приложение, используя Xamarin.Forms , в этом приложении я показываю всплывающее окно с использованием Rg.Плагины.Всплывающее окно. Я пытался изменить border radius(Increase) popup window , но не смог этого добиться. кто-нибудь, пожалуйста, помогите мне внести эти изменения в мое приложение.

Ожидаемый экран

введите описание изображения здесь

Фактический экран

введите описание изображения здесь

Popup.xaml

 <?xml version="1.0" encoding="utf-8" ?>
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup"
    x:Class="TestApp.Popup" 
    xmlns:i18n="clr-namespace:TestApp;assembly=TestApp"
    xmlns:local="clr-namespace:TestApp">
    <StackLayout VerticalOptions="Center" 
        HorizontalOptions="FillAndExpand" 
        Padding="20, 10, 20, 20" 
        Opacity="0.9">
        <Frame BackgroundColor="White" 
                >
            <StackLayout Padding="0, 10, 0, 40" >
                <RelativeLayout>
                    <Label x:Name="congratsText"
                        Text=""
                        TextColor="#396BA2" 
                        FontAttributes="Bold" 
                        FontSize="20" 
                        FontFamily="MYRIADPRO-BOLD"
                        HorizontalTextAlignment="Center"    
                        RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,Property=Width, Factor=1}"  
                        RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=1,Constant=0}"
                        local:CustomFontEffect.FontFileName="MYRIADPRO-BOLD"/>              
                    <Label x:Name="callText"
                        TextColor="#396BA2" 
                        FontFamily="MYRIADPRO-REGULAR"
                        FontSize="18"
                            Margin="10"
                        HorizontalTextAlignment="Center"    
                        RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,Property=Width, Factor=1}"  
                        RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=foundText, Property=Y, Factor=1,Constant=60}"
                        local:CustomFontEffect.FontFileName="MYRIADPRO-REGULAR" >
                            <Label.FormattedText>
                            <FormattedString>
                                <FormattedString.Spans>
                                    <Span Text="Please call " />
                                    <Span Text="0987654321" FontAttributes="Bold" />
                                    <Span Text="for any help." />
                                 </FormattedString.Spans>
                            </FormattedString>
                    </Label.FormattedText>
                    </Label>                            
                    <Button x:Name="OkButton" 
                        BackgroundColor="#9DC96F"
                        FontFamily="MYRIADPRO-BOLD"
                        FontAttributes="Bold"
                        FontSize="20"
                        RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}" 
                        RelativeLayout.HeightConstraint="40"  
                        Text="Ok" 
                        TextColor="White" 
                        Clicked="ok"
                        RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ResendButton, Property=Y, Factor=1,Constant=75}"
                        local:CustomFontEffect.FontFileName="MYRIADPRO-BOLD"/>
                    <Button x:Name="LoginButton" 
                        BorderColor="#9DC96F"
                        BackgroundColor="White"
                        BorderWidth="2"
                        FontFamily="MYRIADPRO-BOLD"
                        FontAttributes="Bold"
                        FontSize="20"
                        RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}" 
                        RelativeLayout.HeightConstraint="40"  
                        Text="Cancel" 
                        TextColor="#9DC96F" 
                        Clicked="Cancel"
                        RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=OkButton, Property=Y, Factor=1,Constant=55}"
                        local:CustomFontEffect.FontFileName="MYRIADPRO-BOLD"/>
                </RelativeLayout>
            </StackLayout>
        </Frame>
    </StackLayout>
</pages:PopupPage>
  

Комментарии:

1. Согласно README для github.com/rotorgames/Rg . Плагины. Всплывающее окно нет свойства border radius, которое можно настроить для всплывающей страницы. Либо свяжитесь с автором библиотеки и предложите ее добавить, либо загрузите исходный код и измените его самостоятельно, чтобы добавить настройку радиуса границы.

2. Спасибо @jgoldberger за ваше предложение. есть ли какие-либо другие plugin доступные способы отображения всплывающего окна вместе с настройкой border radius ?

3. Вы можете загрузить исходный код с github и добавить его самостоятельно.

Ответ №1:

Я создатель этого плагина. Плагин не поддерживает радиус границы. Это не обязанность плагина. Плагин должен показывать всплывающую страницу и только. Вы должны создавать сами представления и стили. Спасибо.

Комментарии:

1. у вас есть какой-либо документ о том, как использовать этот плагин.

2. @Gagan_iOS Да. Документацию можно найти на странице github

Ответ №2:

Я успешно добился этого, установив BackgroundColor для внешнего StackLayout значения значение Transparent. Затем устанавливает CornerRadius свойство на внутреннем Frame

Ответ №3:

Заменяет <Frame BackgroundColor="White">

С помощью <Frame BackgroundColor="White" CornerRadius="40">