Xamarin表单-更新Xamarin表单版本后的框架更改

时间:2018-08-09 18:46:51

标签: xamarin xamarin.forms xamarin.android

我以前使用Xamarin.Forms的Frame控件作为Android的CardView,但我将Xamarin.Forms包更新为3.1.0版,并且框架外观已更改。它没有高程和阴影。我试图创建一个自定义渲染器,但是不起作用。

要解释我想说的话,请参见下面的图片。第一张图片是框架的旧行为。外观与Android中的CardView完全相同,第二张图片是Xamarin.Forms版本3.1.0的新行为。框架没有高程和阴影。

旧行为:

enter image description here

新行为

enter image description here

这是我使用框架的代码(对于Android平台,CardView是一个简单的框架)

<customViews:CardView>
                    <StackLayout Spacing="0">
                        <StackLayout.Margin>
                            <OnPlatform x:TypeArguments="Thickness" Android="16"/>
                        </StackLayout.Margin>
                        <ContentView>
                            <OnPlatform x:TypeArguments="View">
                                <OnPlatform.iOS>
                                    <customViews:HeaderDivider/>
                                </OnPlatform.iOS>
                            </OnPlatform>
                        </ContentView>

public class CardView : Frame
    {
        public CardView()
        {
            Padding = 0;

            if (Device.RuntimePlatform == Device.iOS)
            {
                HasShadow = false;
                OutlineColor = Color.Transparent;
                BackgroundColor = Color.Transparent;
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

<Frame HasShadow="true">
<Label Text="Test"/
</Frame>

我猜想在Frame中HasShadow的Update默认值设置为false之后;