如何在Xamarin Forms中到达ListView的末尾时禁用蓝色?如果无法禁用此功能,有没有办法将颜色更改为透明?
我的ListView:https://i.stack.imgur.com/UW1Ts.jpg
我相信这些值不是由WF控制的,而是平台特定的设置。例如;导航到Android项目并找到Resources> Values> Styles.xml。主题控制颜色,主色,暗色和重音的主题颜色有值。我不认为可以将这些值更改为透明,但主题是开始寻找的好地方。
在Android上,您可以使用自定义渲染器或效果更改OverScrollMode
的ListView
。如果您想在整个应用程序中执行此操作,我会使用渲染器,但如果您只想使用一个特定的列表视图或仅使用一对,我会使用效果。以下是如何使用效果执行此操作的示例。
在您的Forms项目中创建效果:
using Xamarin.Forms;
namespace YourApp.Effects
{
public class ListViewEffect : RoutingEffect
{
public ListViewEffect() : base("YourApp.ListViewEffect") { }
}
}
然后在你的Android项目中:
using YourApp.Droid.Effects;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
[assembly: ResolutionGroupName("YourApp")]
[assembly: ExportEffect(typeof(ListViewEffect), "ListViewEffect")]
namespace YourApp.Droid.Effects
{
public class ListViewEffect : PlatformEffect
{
protected override void OnAttached()
{
Control.OverScrollMode = Android.Views.OverScrollMode.Never;
}
protected override void OnDetached() { }
}
}
然后你必须在表格中添加效果到你的ListView
in xaml
xmlns:effects="clr-namespace:YourApp.Effects"
<ListView>
<ListView.Effects>
<effects:ListViewEffect/>
</ListView.Effects>
...
</ListView>
or in the CS file
_listView.Effects.Add(Effect.Resolve("YourApp.ListViewEffect"));
有关更多信息,您可以查看文档Custom Renderers和Effects