Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin表单-更新Xamarin表单版本后的框架更改_Xamarin_Xamarin.forms_Xamarin.android - Fatal编程技术网

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

Xamarin表单-更新Xamarin表单版本后的框架更改,xamarin,xamarin.forms,xamarin.android,Xamarin,Xamarin.forms,Xamarin.android,我曾经使用Xamarin.Forms的框架控件作为Android的CardView,但是我将Xamarin.Forms包更新为3.1.0版本,框架外观已经改变。它没有立面和阴影。我试图创建一个自定义渲染器,但不起作用 要解释我想说的话,请参见下面的图片。第一幅图是框架的旧行为。外观与Android中的CardView完全相同,第二张图片是3.1.0版Xamarin.Forms的新行为。框架没有立面和阴影 旧行为: 新行为 这是我使用框架的代码(对于Android平台,CardView是一个简

我曾经使用Xamarin.Forms的框架控件作为Android的CardView,但是我将Xamarin.Forms包更新为3.1.0版本,框架外观已经改变。它没有立面和阴影。我试图创建一个自定义渲染器,但不起作用

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

旧行为:

新行为

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


公共类CardView:框架
{
公共CardView()
{
填充=0;
if(Device.RuntimePlatform==Device.iOS)
{
Hassadow=假;
OutlineColor=颜色。透明;
背景颜色=颜色。透明;
}
}
}


在代码中你写了什么?@srustathakkar在Android平台上,只是一个框架,带有属性的默认值。我会编辑这个问题,把我的代码,你们会看到“CardView”,但CardView继承自Frame,只对iOS进行更改。对于Android来说,只是一个框架,为什么不从xaml给它阴影和提升呢?我认为没有必要创建像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;
            }
        }
    }
<Frame HasShadow="true">
<Label Text="Test"/
</Frame>