滚动到带有标题的 Xamarin Forms ListView 的开头

2023-11-26

我在 Xamarin Forms 中滚动到 ListView 顶部时遇到一些问题。我可以通过调用 ScrollTo 并传递第一项来滚动到第一项。问题是,当列表有标题项时,我找不到滚动到标题的方法。这可能吗?我能想到的唯一解决方法是不使用标头,而只是在 ItemSource 列表的开头有另一个项目作为标头,但如果可能的话,我宁愿使用标头。谢谢。


所以我现在自己解决了这个问题。我的解决方案是子类化 ListView 并添加一个公共 ScrollToTop 方法,该方法在调用时调用内部 ScrollToTopRequestedEvent 。然后,我在每个平台上对 ListViewRenderer 进行子类化并注册该事件。

然后,在 Android 渲染器中,我调用 Control.SmoothScrollToPositionFromTop(0, 0) 滚动到顶部。

在渲染的 iOS 中,我调用 Control.ScrollRectToVisible(new CoreGraphics.CGRect(0, 0, 1, 1), true)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

滚动到带有标题的 Xamarin Forms ListView 的开头 的相关文章

随机推荐

  • Bitbucket 警告我的 git 存储库太大,但我无法确认大文件

    Bitbucket 警告我的 Git 存储库超过 1 GB 事实上 在存储库详细信息页面说它是1 7 GB 太疯狂了 我一定在版本控制中包含了大数据文件 我的本地存储库实际上是10 GB 这意味着至少我一直在使用 gitignore在某种程
  • Eclipse 中的 JPA 项目出现问题 - 注释 @Entity 的类中出现错误:无法解析表“xxx”

    我正在尝试在 Eclipse Indigo 中创建简单的 EJB JPA 项目 我创建了新的 EJB 项目 其中 目标 现有的 Glassfish 服务器 配置 EJB 模块 GlassFish 部署描述符文件 Java JPA 在窗口 J
  • ViewPager 的无尽适配器

    我一直在使用CWAC 的 EndlessAdapter实现ListViews的无限滚动 我想完成 ViewPager 的同等功能 不幸的是 PageAdapter 和ListAdapter 不共享相同的公共基类 解决这个问题的最佳方法是什么
  • Java:尝试编译 Hadoop 程序时未找到 com.sun.tools.javac.Main

    当我尝试使用此命令在 Hadoop 中编译程序时 bin hadoop com sun tools javac Main WordCounter java 从 Hadoop 文件夹中 它说 Error Could not find or l
  • 在 UIPopoverController 的页脚中使用 UISegmentedControl

    在我的 iPad 应用程序取景器中 iTunes 链接 我正在尝试重新创建 UISegmentedControl 的外观 如 Keynote 的 内置 弹出窗口的页脚中所示 iPad HIG 建议使用底部对齐的 UIToolbar 但外观不
  • 复选框检查事件监听器

    最近我一直在使用 Chrome 插件 API 我希望开发一个插件 这将使我管理网站的生活变得更轻松 现在我想做的是在选中某个复选框时触发一个事件 由于这个网站不属于我 我无法更改代码 因此我使用 Chrome API 主要问题之一是没有 I
  • 从 python 数据帧的列构造二分图

    我有一个包含三列的数据框 data subdomain data domain data IP 我想为子域的每个元素构建一个二分图 对应同一个域 权重为它出现的次数 对应 例如我的数据可能是 subdomain domain IP test
  • TransferRequestHandler 和 BeginRequest 的性能问题

    我已经开始使用 New Relic 来监控性能http alternativeto net那是一个相当大的网站 我注意到的是 他们报告为 TransferRequestHandler 的方法花费了大量时间 当我深入研究它时 我发现实际上是
  • 二元炸弹 - 第 4 阶段

    我很难追踪以下二进制炸弹的汇编代码 学校的一项作业 其中必须拆除炸弹 该炸弹包含 6 个阶段 所有阶段都有 1 个正确的输入才能进入下一阶段 我目前处于 Phase 4 它有一个名为 func4 的递归函数 我已经确定输入是 d d 它是两
  • 如何将文件传递到阻塞上游作业的下游作业?

    我想要完成的是签出代码develop分支 将其合并到master分支 建立app war 运行测试 如果测试成功则推送到master branch 测试应该在需要的单独作业中运行app war 我当前的设置如下 Job Main结帐自dev
  • 如何多次运行 php 单元并连接覆盖率报告?

    我测试的代码充满了最终静态类 虽然我们无法重构它以进行更好的测试 但我有一个中间解决方案 可以在其自己的进程上运行几个小测试 一切正常 但我没有收到覆盖报告 因为其中一个覆盖了另一个 我目前正在 clover 中生成报告 但我对其他报告非常
  • 如何列出接口类型中的方法名称?

    例如 type FooService interface Foo1 x int int Foo2 x string string 我想做的是获取列表 Foo1 Foo2 使用运行时反射 尝试这个 t reflect TypeOf FooSe
  • Flutter 切换到 Tab 重新加载 Widget 并运行 FutureBuilder

    问题 我有 2 个使用默认选项卡控制器的选项卡 如下所示 Widget build BuildContext context return DefaultTabController length 2 child Scaffold drawe
  • 根据一列的值更新另一列的值

    我有一个名为 Vendor 的表 在该表中我有一个名为 AccountTerms 的列 它仅显示一个值 即 0 1 2 3 等 我还有一个我想使用的专栏 ulARAgeing 以反映该值的含义 例如 0 Current 1 30 Days
  • 错误:使用 SQLDF 没有此类列

    下面是脚本 gt library sqldf gt turnover read csv turnover csv gt names turnover 1 Report Date PersID Status DOB 5 Age Tenure
  • 如何用seaborn拟合泊松分布?

    我尝试将数据拟合为泊松分布 import seaborn as sns import scipy stats as stats sns distplot x kde False fit stats poisson 但我收到这个错误 Attr
  • 如何更新应用程序?

    互联网上似乎没有太多用于更新 Android 应用程序的资源 那么 我需要做的就是更改应用程序的 build gradle 文件中的版本号和名称吗 versionCode 2 versionName 1 0 1 这就是全部 现在我只需要制作
  • 即使一项检查失败如何继续执行

    我正在尝试访问不同的网址并使用 matchImageSnapshot 将屏幕截图与基线图像进行比较 这里的问题是当我的一个 url 因 matchimagesnapshot 失败时 它不会继续到下一个 URL 注意 我尝试使用变量 env
  • 获取插入后生成的id

    我正在 Android 上使用 SQLite 我想知道获取我插入的行的生成 id 的最佳方法 我认为解决方案在包含后进行搜索 但它看起来不是最好的方法 The insert方法返回id刚刚插入的行或 1如果插入过程中出现错误 long id
  • 滚动到带有标题的 Xamarin Forms ListView 的开头

    我在 Xamarin Forms 中滚动到 ListView 顶部时遇到一些问题 我可以通过调用 ScrollTo 并传递第一项来滚动到第一项 问题是 当列表有标题项时 我找不到滚动到标题的方法 这可能吗 我能想到的唯一解决方法是不使用标头