动态滚动对于使用Qt开发移动应用程序非常重要,我注意到它在设备上并不流畅(尝试使用

Android设备和iphone).它看起来有点不稳定,从一个位置跳到下一个位置,并且延迟跟随手指移动.特别是在尝试滚动缓慢时,这是可见的.设备中的其他应用程序滚动更顺畅,尤其是在iPhone中.

我使用仅包含按钮的QFrame(ui-> frame)制作了一个简单的测试项目.这些按钮被添加到QVBoxLayout.此框架添加到QcrollArea对象,该对象对触摸事件作出反应.此scrollArea添加到QGridLayout.因此滚动仅在垂直方向上.

我在我的类的构造函数中有这个代码,它基于QFrame:

ui->frame->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed );

ui->frame->setMinimumHeight( 1000 );

ui->frame->setMaximumHeight( 1000 );

m_scrollArea = new QScrollArea();

m_scrollArea->setWidget( ui->frame );

m_scrollArea->setWidgetResizable( true );

m_scrollArea->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );

m_scrollArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );

m_layout = new QGridLayout();

m_layout->addWidget( m_scrollArea );

m_layout->setContentsMargins( 0, 0, 0, 0 );

setLayout( m_layout );

QScroller::grabGesture( m_scrollArea, QScroller::LeftMouseButtonGesture );

我在代码中做错了什么,我该怎么做才能解决这个问题.其他人是否经历过同样的事情?我希望我的应用程序看起来尽可能本地化,这种不连贯的滚动实际上并不正常.

如果您需要更多信息,我会尝试提供.我可能会尝试在某处上传我的测试项目,并在需要时添加一些设备的屏幕截图.

我正在使用的Qt版本是5.1.1用于android和Qt 5.1.0RC1自我构建的ios.

我补充道

QScrollerProperties sp;

sp.setScrollMetric( QScrollerProperties::DragStartDistance, 0.001 );

sp.setScrollMetric( QScrollerProperties::ScrollingCurve, QEasingCurve::Linear );

QScroller* qs = QScroller::scroller( m_scrollArea );

qs->setScrollerProperties( sp );

DragStartDistance使滚动更具响应性.我可以微调哪些其他属性以使滚动看起来更好?

我还注意到每次从QScrollArea收到QEvent :: Scroll时都不会调用GUI paintEvent(),我猜这可能会导致不连贯的滚动.因此,每次收到QEvent :: Scroll时,我都会添加代码来重新绘制GUI,滚动看起来更平滑但在Android设备中仍然不完美.

我还能尝试什么?

我很感激你能给我的任何帮助.谢谢!

android滚动条不顺畅,android – QScroller动力学滚动不顺畅相关推荐

  1. android滚动条布局横向,Android自定义ViewGroup实现可滚动的横向布局(2)

    这里直接代码: package com.example.libingyuan.horizontallistview.ScrollViewGroup; import android.content.Co ...

  2. android滚动条布局平分,让你的布局滚动起来—ScrollView

    前言 通过两天的"实战",今天我们稍微放松一下脚步,让大家喘口气歇一会儿,我们今天为大家带来的控件,解决了太多在项目中遇到的适配问题,如果你已经碰到了这种问题,就紧跟我们的脚步吧~ ...

  3. android开发歌词滑动效果_android 实现歌词自动滚动+手指顺畅拖动

    需求: 1.歌词可以跟随播放进度进行自动滑动: 2.可以手指进行歌词顺畅滑动: 3.当前歌词高亮,且置于屏幕的中心: 实现方式一: 也是网上可以搜到的做多的方式:自定义view,继承textview; ...

  4. android 滚动条 相关属性

    属性名称 描述 android:background 设置背景色/背景图片.可以通过以下两种方法设置背景为透明:"@android:color/transparent"和" ...

  5. 我的Android进阶之旅------Android自定义View来实现解析lrc歌词并同步滚动、上下拖动、缩放歌词的功能...

    前言 一LRC歌词文件简介 1什么是LRC歌词文件 2LRC歌词文件的格式 LRC歌词文件的标签类型 1标识标签 2时间标签 二解析LRC歌词 1读取出歌词文件 2解析得到的歌词内容 1表示每行歌词内 ...

  6. Android中通过Java代码实现ScrollView滚动视图-以歌词滚动为例

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  7. Android 第十八课 强大的滚动控件 RecyclerView

    步骤: 一.添加依赖库 compile'com.android.support:recyclerview-v7:26.1.0' 二.在activity_mian.xml中,添加RecyclerView ...

  8. Android应用开发--MP3音乐播放器滚动歌词实现

    Android应用开发--MP3音乐播放器滚动歌词实现 2013年6月2日  简.美音乐播放器开发记录 -----前话 有网友给我博客评论说,让我借鉴好的Android代码,代码贴出来的时候最好整体先 ...

  9. Android应用开发--MP3音乐播放器滚动歌词实现,flutter跳转动画

    2. 自定义View 3. 加入布局文件 4. 编写歌词处理类 5. 在Service里面实现同步更新歌词 ----代码实现 –LrcContent.java package com.wwj.sb.d ...

最新文章

  1. matlab 分段式规范作图
  2. Hyper-V群集之使用指南
  3. QCustomplot控件设备背景图片(Qt图片自适应控件大小),并且设置绘图区域颜色透明
  4. 【Linux环境】简单Shell脚本实现定时备份文件、压缩、删除超时文件操作(showDoc文件备份脚本举例)
  5. Andriod中的两种自定义颜色选择器
  6. 如何利用云服务器挖矿_企业如何选择云服务器
  7. 1089 狼人杀-简单版 (20 分)
  8. mysql change index_MySQL · 引擎特性 · Innodb change buffer介绍
  9. 通过iframe搭建后台管理系统右侧内容_七巧Plus | 搭建量身定制的EAM资产管理系统...
  10. C# 通过Exchange server 发送邮件
  11. Centos7 firewall防火墙常用配置
  12. java成员方法tostring_Java 工具类-toString
  13. python将图片合并到PDF
  14. 2019矿大软件工程考试记录
  15. 漏洞复现——Chrome 浏览器的 0day 远程代码执行漏洞 (附poc)
  16. 交换机上的指示灯狂闪
  17. fullpage插件的使用
  18. 2022年圣诞节 | matlab实现炫酷的圣诞树
  19. 30000字Linux期末考试复习总结
  20. Nginx 从入门到实践(超级详细)

热门文章

  1. Mol Cell Proteomics. |彭建祥| 人胃肠道间质瘤亚群蛋白质组图谱
  2. Vue中的侦听器watch
  3. 计算机专业女生网名,说一说那些专业名字很霸气,但男女比例严重失调的专业...
  4. win10怎么改管理员名字_手机千牛怎么改店铺名字?手机千牛可以修改店铺名字吗?...
  5. SLEEP:识别创伤后应激障碍病人睡眠的可重复的高密度EEG标识物
  6. 计算机仿真的实质意义是什么,工程结构的计算机仿真有什么意义
  7. 飓风和蛋挞:数据分析相关性分析案例二
  8. Python基础-元组字典集合
  9. 一位搬家师傅的O2O之旅
  10. centos7一键更换yum源