android 实现listview中的item部分的现实和隐藏_最简单方法实现qml listview筛选显示...

在Android QML界面开发中,为了优化超过200个Item的ListView查找体验,作者采用筛选显示的方法。通过增加一个TextArea作为筛选输入框,然后在ListView delegate中比较item内容与筛选文本,动态调整item的visible属性。最后,将被隐藏的组件高度设为0,避免占用空间,从而实现了一个简洁有效的ListView筛选功能。
摘要由CSDN通过智能技术生成

最近在开发的一个qml界面里,使用了ListView显示超过200个Item,并且支持编辑。用户试用后反馈,从这么多项中找到要查看、编辑的Item很不方便,需要优化。

解决的方案有两个,排序和筛选。翻文档和网上资料,很多教程需要修改C++ model,比较繁琐。经过几番折腾,迂回实现了ListView的筛选显示,方法简单,效果也不错。分享一下。

最初的界面是下面这样的,其中有一列信息比较敏感,屏蔽了;右侧有些UI跟今天的主题无关,也P掉了。可见200多个项,滑动列表寻找确实不方便。

b6b462c504df2b2dc2c8a60c636aa85c.png

最初的界面

解决方案

第一步:首先增加一个TextArea,用于输入筛选文本,id设置为filterText。

第二部:然后在listview的delegate componet,比较item的内容和筛选文本,设置该component的visible属性。代码如下:

visible: model.name.indexOf(filterText.text) !== -1

这样,就实现了筛选效果,不符合条件的Item被隐藏了。

但是仅仅这样还不行。因为被过滤掉的项虽然隐藏了,但是还会占据位置,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值