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