Xamarin formes: StackLayout avec des coins arrondis

je développe une application utilisant xamarin forms pcl. J'ai besoin d'un stacklayout avec des coins arrondis. J'ai essayé le cadre aussi bien pour le récipient de coin arrondi mais il n'y a aucune propriété de rayon de coin disponible pour elle. Je ne trouve pas de convertisseurs pour ios,android,uwp,windows 8.1.

s'il vous Plaît quelqu'un peut-il me suggérer comment atteindre stacklayout avec des coins arrondis avec rayon de l'angle de propriété pour toutes les plateformes. enter image description here

23
demandé sur Sonali 2016-12-16 17:35:34

6 réponses

Vous pouvez utiliser Frame et mettre StackLayout à l'intérieur, noter Frame take padding 20 par défaut:

<Frame CornerRadius="10"  
       OutlineColor="Red" 
       Padding="0">
            <StackLayout>

            </StackLayout>
</Frame>
27
répondu Abdullah Tahan 2017-07-12 10:20:27

vous pouvez définir le coin arrondi pour n'importe quelle disposition ou vue ou cellule (StackLayout, Grid, ListView)

http://venkyxamarin.blogspot.in/2017/12/how-to-set-corner-radius-for-view.html#more

0
répondu Venkata Swamy Balaraju 2017-12-13 05:37:22

j'ai récemment eu le même besoin, donc j'ai créé un Renderer personnalisé pour iOS et Android. Je l'ai sorti comme un Nuget que vous pouvez trouver ici. Le code source est disponible sur GitHub, et ici est un peu "How-To"

Espérons que cette aide! Il est très facile à utiliser (comme un ContentView, qu'il est à sa base), bien que notez qu'il s'agit de compiler pour le Standard .NET, mais vous pouvez aussi tirer le code dans votre PCL

0
répondu Tom 2018-05-28 15:41:54
<!--Curved stack-->
<Frame CornerRadius="5" 
           HorizontalOptions="Center" 
           VerticalOptions="Start"
           HasShadow="True"
           Padding="0">
        <StackLayout Padding="10,5,10,5"   
                         Orientation="Horizontal" 
                         BackgroundColor="White"  >
            <Image Source="settingsIcon"  
                   HeightRequest="25" 
                   WidthRequest="25" 
                   Aspect="Fill" />
            <Label Text="Filter" 
                   FontSize="Medium" 
                   VerticalTextAlignment="Center" 
                   VerticalOptions="Center"/>
        </StackLayout>
    </Frame>

je viens d'essayer de copier les boutons de filtre de BigBasket. Voir Comment cool on dirait

0
répondu Sanni Prasad 2018-07-21 09:29:49

Depuis Xamarin a publié Effets mécanisme, il est maintenant possible de le faire en implémentant un effet personnalisé sur les deux plateformes. Un avantage de cette approche est que les effets sont plus légers, réutilisables et peuvent être paramétrés et appliqués à n'importe quel élément de L'UI.

après avoir créé un custom RoundCornersEffect hériter RoutingEffect, déclare un CornerRadius joint de propriété et de mettre en œuvre PlatformEffect sur chaque plateforme, il peut être appliqué à n'importe quel Xamarin.Forms disposition ou contrôle comme ceci:

<StackLayout effects:RoundCornersEffect.CornerRadius="48"/>

avec codé en dur coins de rayon ou d'une valeur à partir de ressources

 <BoxView effects:RoundCornersEffect.CornerRadius="{StaticResource LargeCornerRadius}" /> 

Voici un lien vers mise en œuvre complète et des exemples d'utilisation.

0
répondu foxanna 2018-09-17 14:06:08