从ListView禁用开始和结束动画

问题描述 投票:1回答:2

如何在Xamarin Forms中到达ListView的末尾时禁用蓝色?如果无法禁用此功能,有没有办法将颜色更改为透明?

我的ListView:https://i.stack.imgur.com/UW1Ts.jpg

listview xamarin.forms xamarin.android
2个回答
0
投票

我相信这些值不是由WF控制的,而是平台特定的设置。例如;导航到Android项目并找到Resources> Values> Styles.xml。主题控制颜色,主色,暗色和重音的主题颜色有值。我不认为可以将这些值更改为透明,但主题是开始寻找的好地方。


0
投票

在Android上,您可以使用自定义渲染器或效果更改OverScrollModeListView。如果您想在整个应用程序中执行此操作,我会使用渲染器,但如果您只想使用一个特定的列表视图或仅使用一对,我会使用效果。以下是如何使用效果执行此操作的示例。

在您的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 RenderersEffects

© www.soinside.com 2019 - 2024. All rights reserved.