Xamarin Forms Transalted Button click

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

我正在使用如下Xamarin Forms创建一个圆形菜单。

enter image description here

强调色是我的网格。然后我翻译并整理按钮。

我的问题是单击按钮没有抬起。我还尝试了我的堆栈面板的手势识别器。结果相同。

部分代码如下:

  <Grid BackgroundColor="Accent" Margin="0,0,0,10" VerticalOptions="End" HorizontalOptions="Center">


        <StackLayout x:Name="cat" 
                            >
            <StackLayout.GestureRecognizers>
                <TapGestureRecognizer Tapped="catBtn_Clicked"/>
            </StackLayout.GestureRecognizers>
            <Button Clicked="catBtn_Clicked" TranslationX="-109" TranslationY="-102"         WidthRequest="60" 
                            HeightRequest="60" 
                            FontSize="35"
                            CornerRadius="30" HorizontalOptions="Center"
                            BackgroundColor="{StaticResource RedColor}"
                            TextColor="White"
                            Text="{ x:Static local:GrialIconsFont.Calendar }" 
                            FontFamily="{ StaticResource IconsFontFamily }">
        </Button>
            <Label Text="{extensions:Translate Hello}" HorizontalOptions="Center"/>
        </StackLayout>
button xamarin.forms click
1个回答
0
投票

请确保您的按钮位于superView的边界内,如果将按钮放置在superView的范围之外,则该按钮将不可点击

您使用TranslationX="-109",并且TranslationY="-102"将使按钮超出StackLayout的范围,因此它不会响应click事件。您可以将backgroundColor添加到stacklayout中以查看其边界。

我建议您将这些按钮或标签直接添加到Grid并使用absolute-layoutrelative-layout或其他布局来固定其位置。

[Github中也有一些示例可以参考,例如CircleButtonMenuXamarin.Forms-RadialMenu

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