Xamarin中的阴影问题。Android窗体

Xamarin中的阴影问题。Android窗体,android,xamarin,xamarin.forms,frame,shadow,Android,Xamarin,Xamarin.forms,Frame,Shadow,如何消除从下的元素继承的阴影? 在图像中,您可以看到,在第一个块(“带阴影”)中,所有具有背景颜色的元素都继承了红色边框的阴影(其属性为hassadow=“True”),而在第二个块中,由于hassadow属性为False,因此不继承它。这种不正确的行为只发生在Android中,而在iOS中正常工作。 我怎么能不继承阴影呢 以下是XML: <StackLayout Spacing="10" VerticalOptions="Start">

如何消除从
下的元素继承的阴影? 在图像中,您可以看到,在第一个块(“带阴影”)中,所有具有背景颜色的元素都继承了红色边框的阴影(其属性为hassadow=“True”),而在第二个块中,由于hassadow属性为False,因此不继承它。这种不正确的行为只发生在Android中,而在iOS中正常工作。 我怎么能不继承阴影呢

以下是XML:

<StackLayout Spacing="10" VerticalOptions="Start">
    <Image Source="{ext:ImageResource AppBasic.Images.Icons.close.png}"/>
    <ffimage:CachedImage Source="{ext:ImageResource AppBasic.Images.Layout.user.png}" />
    <StackLayout Spacing="10">
        <!-- with shadow -->
        <Label Text="With shadow" 
       HorizontalOptions="Center" FontFamily="S-Bold" />
        <Frame HasShadow="True" HorizontalOptions="Center" WidthRequest="56" HeightRequest="56" CornerRadius="28" BackgroundColor="Red" />
        <f9p:Label LineBreakMode="TailTruncation" Fit="Lines" Lines="1" HorizontalOptions="Start" VerticalOptions="Center" BackgroundColor="Green">GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT</f9p:Label>
        <StackLayout BackgroundColor="Orange" Padding="20" VerticalOptions="Start" HorizontalOptions="Start"></StackLayout>
        <Label BackgroundColor="Transparent">Text</Label>
    </StackLayout>
    <StackLayout Spacing="10">
        <!-- without shadow -->
        <Label Text="Without shadow" 
       HorizontalOptions="Center" FontFamily="S-Bold" />
        <Frame HasShadow="False" HorizontalOptions="Center" WidthRequest="56" HeightRequest="56" CornerRadius="28" BackgroundColor="Red" />
        <f9p:Label LineBreakMode="TailTruncation" Fit="Lines" Lines="1" HorizontalOptions="Start" VerticalOptions="Center" BackgroundColor="Green">GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT GIFT</f9p:Label>
        <StackLayout BackgroundColor="Orange" Padding="20" VerticalOptions="Start" HorizontalOptions="Start"></StackLayout>
        <Label BackgroundColor="Transparent">Text</Label>
    </StackLayout>
</StackLayout>

礼物礼物礼物礼物礼物礼物礼物
正文
礼物礼物礼物礼物礼物礼物礼物
正文

看起来像个bug。。。您可以将
框架
包装在
网格
上以修复此行为

...
<Grid>
    <Frame HasShadow="True" HorizontalOptions="Center" WidthRequest="56" HeightRequest="56" CornerRadius="28" BackgroundColor="Red" />
</Grid>
...
。。。
...

看起来像个bug。。。您可以将
框架
包装在
网格
上以修复此行为

...
<Grid>
    <Frame HasShadow="True" HorizontalOptions="Center" WidthRequest="56" HeightRequest="56" CornerRadius="28" BackgroundColor="Red" />
</Grid>
...
。。。
...

您可以使用Effect在每个元素上实现阴影

以形式 在iOS中 在Android中 在Xmal

<Label Text="Label Shadow Effect" FontAttributes="Bold" HorizontalOptions="Center" VerticalOptions="CenterAndExpand">
    <Label.Effects>
        <local:ShadowEffect Radius="5" DistanceX="5" DistanceY="5">
            <local:ShadowEffect.Color>
                <OnPlatform x:TypeArguments="Color">
                      <On Platform="iOS" Value="Black" />
                      <On Platform="Android" Value="Red" />                           
                </OnPlatform>
            </local:ShadowEffect.Color>
        </local:ShadowEffect>
    </Label.Effects>
</Label>


您可以在任何元素(如图像或条目)上添加效果。

您可以使用效果在每个元素上实现阴影

以形式 在iOS中 在Android中 在Xmal

<Label Text="Label Shadow Effect" FontAttributes="Bold" HorizontalOptions="Center" VerticalOptions="CenterAndExpand">
    <Label.Effects>
        <local:ShadowEffect Radius="5" DistanceX="5" DistanceY="5">
            <local:ShadowEffect.Color>
                <OnPlatform x:TypeArguments="Color">
                      <On Platform="iOS" Value="Black" />
                      <On Platform="Android" Value="Red" />                           
                </OnPlatform>
            </local:ShadowEffect.Color>
        </local:ShadowEffect>
    </Label.Effects>
</Label>


您可以在任何元素(如图像或条目)上添加效果。

当然可以,或者我可以删除对象的背景色(因为这就是问题/缺陷)。但是用网格包装似乎不是最佳的解决方案是的,当然,或者我可以删除对象的背景色(因为这就是问题/bug)。但这似乎不是用网格包裹的最佳解决方案。我不希望每个元素都有阴影。问题/错误是,如果我放置一个有阴影的,然后我放置一个或一个等等。。。背景色,这些元素有令人费解的阴影,这似乎是框架的设计问题。嗨,我不希望每个元素都有阴影。问题/错误是,如果我放置一个有阴影的,然后我放置一个或一个等等。。。有了背景色,这些元素就有了令人费解的阴影,这似乎是框架的设计问题。
<Label Text="Label Shadow Effect" FontAttributes="Bold" HorizontalOptions="Center" VerticalOptions="CenterAndExpand">
    <Label.Effects>
        <local:ShadowEffect Radius="5" DistanceX="5" DistanceY="5">
            <local:ShadowEffect.Color>
                <OnPlatform x:TypeArguments="Color">
                      <On Platform="iOS" Value="Black" />
                      <On Platform="Android" Value="Red" />                           
                </OnPlatform>
            </local:ShadowEffect.Color>
        </local:ShadowEffect>
    </Label.Effects>
</Label>