【问题标题】:Nested scrollview not working below lollipop in Xamarin Forms嵌套的滚动视图在 Xamarin 表单中的棒棒糖下方不起作用
【发布时间】:2018-10-15 12:54:59
【问题描述】:

我在 Xamarin 表单中创建了自定义 ListView。此列表视图位于滚动视图内。它适用于 Iphone,但不适用于 Android 中的 Lollipop 以下。

【问题讨论】:

    标签: android xamarin xamarin.android xamarin.forms


    【解决方案1】:

    很遗憾,启用对 Lollipop 之前的设备的支持并不是那么简单。您将需要转向支持库。而不是ScrollView,您需要使用NestedScrollView。从那里您可以访问您需要使用的NestedScrollingParentNestedScrollingChild。请参阅文档以了解它们的作用。

    对于 ListView,您应该使用NestedScrollingChildHelper 使其在NestedScrollView 中正常工作。

    编辑:您可以从Android.Support.V4.Widget.NestedScrollView 找到NestedScrollView。由于您使用的是自定义渲染器,因此您可以将原始的 ListView 替换为 NestedScrollView 用于所有棒棒糖之前的设备。

    【讨论】:

    • 感谢您的回复。 NestedScrollView 仅在 Xamarin Android 中可用,但我的视图在 Forms 上。所以我需要一个适用于 Xamarin 表单的解决方案。
    • @AjaySharma 基本上任何可用于 Android 的东西都可以使用 Xamarin.Android(以及随后的 Xamarin.Forms)访问。我更新了我的答案。
    • 你能帮我知道我们如何使用自定义渲染器,你可以用 NestedScrollView 替换所有 pre-Lollipop 设备的原始 ListView 吗?
    • @AjaySharma 您可能需要更多地研究自定义渲染器。这是一个很好的起点:developer.xamarin.com/guides/xamarin-forms/…。无论如何,您需要做的是创建一个新的 NestedScrollView 实例和use SetNativeControl(yourNestedScrollView); 将其设置为 Android 上的活动控件。您将在 Xamarin 的官方指南中找到更多更好的解释。
    猜你喜欢
    • 2018-12-07
    • 2017-06-24
    • 1970-01-01
    • 2015-01-12
    • 2016-01-20
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多