Xamarin形式:Android上的帧的阴影效果/阴影偏移

时间:2019-04-30 01:01:30

标签: xamarin xamarin.forms xamarin.android

我想在Android上获得类似于iOS上的阴影效果的阴影效果。

现在,Android上默认的框架阴影阴影具有很少的阴影偏移,我想增加android上的阴影偏移

我正在使用“效果”来实现它,但也接受其他想法。如here所述尝试了渲染器,但也没有用。

有人可以建议我如何实现吗?

我当前的代码: XAML

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core" x:Class="Page.ToastView">
    <ContentView.Content>
        <StackLayout HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
            <Frame x:Name="toastFrame" CornerRadius="8" HorizontalOptions="Center" Padding="8">
                <Label x:Name="toastLabel" Text="Toast !" LineBreakMode="WordWrap" MaxLines="5" HorizontalOptions="Fill" HorizontalTextAlignment="Center" VerticalOptions="Center" />
            </Frame>
        </StackLayout>
    </ContentView.Content>
</ContentView>

XAML.CS

public class ToastView : ContentView
{
  public ToastView()
  {
    InitializeComponent();

    //Works for iOS
    toastFrame.On<iOS>()
         .SetIsShadowEnabled(true)
         .SetShadowColor(Color.Black)
         .SetShadowOffset(new Size(10, 10))
         .SetShadowOpacity(0.2)
         .SetShadowRadius(12);

    // Doesn't work for android
    toastFrame.On<Android>()
       .SetElevation(20.0f);
  }
}

在android上的预期效果: enter image description here

对android的当前影响: enter image description here

0 个答案:

没有答案