我正在制作需要菜单的Xamarin.Forms应用程序。我正在将ListView控件与ViewCells一起使用以提供此菜单。不幸的是,我希望我的应用程序是Material Design,因此,我希望ViewCell上产生涟漪触觉反馈。
这是一个新的Xamarin.Forms项目,其模板为Shell,是使用Visual Studio 2019 16.1.3版制作的。 由于缺少iOS设备,我正在Android上进行测试。
我尝试在ContentPage上使用属性Visual="Material"
,但这给了我一个例外
System.MissingMethodException: Method not found: Xamarin.Forms.SizeRequest Xamarin.Forms.Platform.Android.ButtonLayoutManager.GetDesiredSize(int,int)
ListView的代码(未经Shell模板编辑):
<ListView x:Name="ItemsListView"
ItemsSource="{Binding Items}"
VerticalOptions="FillAndExpand"
HasUnevenRows="true"
RefreshCommand="{Binding LoadItemsCommand}"
IsPullToRefreshEnabled="true"
IsRefreshing="{Binding IsBusy, Mode=OneWay}"
CachingStrategy="RecycleElement"
ItemSelected="OnItemSelected">
<d:ListView.ItemsSource>
<x:Array Type="{x:Type x:String}">
<x:String>First Item</x:String>
<x:String>Second Item</x:String>
<x:String>Third Item</x:String>
<x:String>Forth Item</x:String>
<x:String>Fifth Item</x:String>
<x:String>Sixth Item</x:String>
</x:Array>
</d:ListView.ItemsSource>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="10">
<Label Text="{Binding Text}"
d:Text="{Binding .}"
LineBreakMode="NoWrap"
FontSize="16" />
<Label Text="{Binding Description}"
d:Text="Item description"
LineBreakMode="NoWrap"
FontSize="13" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我希望当我单击列表项(ViewCell)时会出现“材质设计”波纹效果,但是相反,它变为橙色,这似乎是ViewCell的默认行为。
我想要的波纹效果类似于此gif中的效果: