文章详情页
android - 如何用GridView实现展开和收起的功能
浏览:214日期:2024-09-03 10:21:04
问题描述
这是默认收起来的,点击展开实现显示全部内容:
这该如何实现?????
问题解答
回答1:这个解决方案有很多,我会选择点击展开将剩余的item全部加到adapter,在更新下就行了。收起的话就把那些需要收起的item从adapter中移除就行了。这里需要对最后那个item的点击事件做额外的处理。
回答2:获取这gridView的layoutParams,然后设置其高度,类似这样子ViewGroup.LayoutParams layoutParams = gridView.getLayoutParams();layoutParams.height = 300;
一般这样的效果都会做一个过渡动画,原理是一样的,只是将一次做的事情分多次做(将高度逐渐变大)
回答3:其实这种效果并不需要用GridView做,按你的描述来看并没有滑动的需求,所以可以用GridLayout做,点击之后remove最后一个 然后添加完后再 add收起就好了- -不复杂 逻辑也清楚。
回答4:我们公司实现这个需求用的是设置一个标记属性,用于记录展开收起状态,重写adapter的getItemCount()的返回值,根据这个标记属性,当收起时返回8,展开是返回总数目
上一条:android - AsyncHttpClient上传图片和文字数据,直接失败了,但是onFailure方法中的bytes输不出东西,为何?下一条:android的ListView点击事件问题?
相关文章:
1. MYSQL新建用户设置可以远程访问的问题2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. java - mybatis怎么实现在数据库中有就修改,没有就添加4. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. mysql - SQL操作时间的函数?7. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么8. mysql 5.7单表300万数据,性能严重下降,如何破?9. mysql 为何insert的时候会有lock wait timeout 异常10. mysql同步数据到elasticsearch用什么工具?
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)