An abnormal horizontal ListView-like pile layout.
android-pile-layout
项目地址:xmuSistone/android-pile-layout
简介:An abnormal horizontal ListView-like pile layout.
An abnormal horizontal ListView-like pile layout.
captured images
The following pictures were captured earlier. Since the source code and the outputted-apk have changed some params, you will have a different UI when you directly run the code or install the apk file. Hope there has no confusions later.
design
Recently I have seen this kind of UI design, and at the first sight I was trying to implement it by using RecyclerView's LayoutManager. Unfortunately, I am unable to contrust a clear Math model while sliding the PileView. After several tries, I gave up LayoutManager, and find another way for this implementation. If you make LayoutManager works well for this UI design, please tell me later.
how to use
- declare PileLayout in your xml file
<com.stone.pile.libs.PileLayoutandroid:id="@+id/pileLayout"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingBottom="5dp"android:paddingTop="5dp"pile:displayCount="1.5"pile:interval="10dp"pile:scaleStep="0.22"pile:widthHeightRate="1.22" />
Meanwhile, pileLayout is able to be customized by these 4 params:
name | format | description |
---|---|---|
interval | dimension | items-margin each other |
sizeRatio | float | each item's height/witdth |
scaleStep | float | size scale step when needed |
displayCount | float | number of items that may display |
in Java files:
pileLayout = (PileLayout) findViewById(R.id.pileLayout); pileLayout.setAdapter(new PileLayout.Adapter() {@Overridepublic int getLayoutId() {// item's layout resource idreturn R.layout.item_layout;}@Overridepublic void bindView(View view, int position) {ViewHolder viewHolder = (ViewHolder) view.getTag();if (viewHolder == null) {viewHolder = new ViewHolder();viewHolder.imageView = (ImageView) view.findViewById(R.id.imageView);view.setTag(viewHolder);}// recycled view bind new position}@Overridepublic int getItemCount() {// item countreturn dataList.size();}@Overridepublic void displaying(int position) {// right displaying the left biggest itemView's position }@Overridepublic void onItemClick(View view, int position) {// on item click} });
An abnormal horizontal ListView-like pile layout.相关推荐
- android之ListView和adapter配合显示图片和文字列表
listView页面布局:layout/activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.c ...
- Android支持横行滚动的ListView控件
原帖地址:http://www.cnblogs.com/over140/archive/2011/12/07/2275207.html 声明 欢迎转载,但请保留文章原始出处:) 博客园:http:// ...
- Android 第四章 ListView 的使用
在Android中列表页面主要使用ListView来进行展示实现 其大致流程如下: 第一步,在主布局xml文件中定义一个ListView组件,MainActivity中获取该主要组件: 第二步,定义我 ...
- ListView+Fragment实现导航栏
实现效果图 (1)新建text.xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/ ...
- 安卓Andriod使用入门(八)【联动ListView】
人生最大的幸福是放得下. MainActivity.java代码: package siso.multilistview;import android.content.Intent; import a ...
- 张高兴的 UWP 开发笔记:横向 ListView
ListView 默认的排列方向是纵向 ( Orientation="Vertical" ) ,但如果我们需要横向显示的 ListView 怎么办? Blend for Visua ...
- 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点
今天发现一个问题.listView的item点击以后进入到下一个页面,下个页面有个返回按钮,直接返回回去以后点击事件不能触发,滑动或者重新打开这个listView,就可以达到原来的效果.后来发现是因为 ...
- 如何使用RecyclerView构建Horizontal ListView?
本文翻译自:How to build a Horizontal ListView with RecyclerView? I need to implement a horizontal listvie ...
- [转]Listview的onItemClickListener无法响应的解决方法
在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需 ...
最新文章
- C#的网络适配器操作
- Ello讲述Haar人脸检测:易懂、很详细、值得 ...
- 关于 Orbeon form PE 版本使用 JavaScript Embedding API 的一个例子
- Angular的Zone-Evergreen在SAP Spartacus中的应用
- 用pycharm做手机软件_从零开始学python:初学者用哪种工具好?南大博士选择用pycharm...
- sql oracle 自增长字段,Oracle添加自增长字段方法步骤
- MFC创建漂亮的界面
- connect to ubuntu 16.04 from windows 10 using x11vnc
- 连接mysql超过连接次数处理办法
- 【Python 代码】类似SADPTool工具,搜索海康设备
- 学习笔记----网站的优化(五)---CDN加速
- [翻译] 在 Overleaf 中使用参考文献
- 扫除知识共享障碍,天翎知识文档管理系统+群晖NAS一体化解决方案
- SpringBoot所有知识点详解,根据狂神说java老师的整理
- 免费下载学术论文的网站
- eNSP配置PC路由
- 按洲分组国家地区标准代码
- linux定时发信息到微信群聊,Wechat-Timed-Message
- 小巧有线千兆路由器推荐
- brainproduct recorder 远程采集脑电波实时数据