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

  1. 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
  1. 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.相关推荐

  1. android之ListView和adapter配合显示图片和文字列表

    listView页面布局:layout/activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.c ...

  2. Android支持横行滚动的ListView控件

    原帖地址:http://www.cnblogs.com/over140/archive/2011/12/07/2275207.html 声明 欢迎转载,但请保留文章原始出处:) 博客园:http:// ...

  3. Android 第四章 ListView 的使用

    在Android中列表页面主要使用ListView来进行展示实现 其大致流程如下: 第一步,在主布局xml文件中定义一个ListView组件,MainActivity中获取该主要组件: 第二步,定义我 ...

  4. ListView+Fragment实现导航栏

    实现效果图       (1)新建text.xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/ ...

  5. 安卓Andriod使用入门(八)【联动ListView】

    人生最大的幸福是放得下. MainActivity.java代码: package siso.multilistview;import android.content.Intent; import a ...

  6. 张高兴的 UWP 开发笔记:横向 ListView

    ListView 默认的排列方向是纵向 ( Orientation="Vertical" ) ,但如果我们需要横向显示的 ListView 怎么办? Blend for Visua ...

  7. 关于listView的item失去焦点不能点击 Item中包含Button 导致抢占焦点

    今天发现一个问题.listView的item点击以后进入到下一个页面,下个页面有个返回按钮,直接返回回去以后点击事件不能触发,滑动或者重新打开这个listView,就可以达到原来的效果.后来发现是因为 ...

  8. 如何使用RecyclerView构建Horizo​​ntal ListView?

    本文翻译自:How to build a Horizontal ListView with RecyclerView? I need to implement a horizontal listvie ...

  9. [转]Listview的onItemClickListener无法响应的解决方法

    在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需 ...

最新文章

  1. C#的网络适配器操作
  2. Ello讲述Haar人脸检测:易懂、很详细、值得 ...
  3. 关于 Orbeon form PE 版本使用 JavaScript Embedding API 的一个例子
  4. Angular的Zone-Evergreen在SAP Spartacus中的应用
  5. 用pycharm做手机软件_从零开始学python:初学者用哪种工具好?南大博士选择用pycharm...
  6. sql oracle 自增长字段,Oracle添加自增长字段方法步骤
  7. MFC创建漂亮的界面
  8. connect to ubuntu 16.04 from windows 10 using x11vnc
  9. 连接mysql超过连接次数处理办法
  10. 【Python 代码】类似SADPTool工具,搜索海康设备
  11. 学习笔记----网站的优化(五)---CDN加速
  12. [翻译] 在 Overleaf 中使用参考文献
  13. 扫除知识共享障碍,天翎知识文档管理系统+群晖NAS一体化解决方案
  14. SpringBoot所有知识点详解,根据狂神说java老师的整理
  15. 免费下载学术论文的网站
  16. eNSP配置PC路由
  17. 按洲分组国家地区标准代码
  18. linux定时发信息到微信群聊,Wechat-Timed-Message
  19. 小巧有线千兆路由器推荐
  20. brainproduct recorder 远程采集脑电波实时数据

热门文章

  1. 一键领取饿了么手气最佳红包
  2. 免费在线一键领取饿了么手气最佳红包方法
  3. 2021-2027全球与中国植物基牛奶替代品市场现状及未来发展趋势
  4. Shopee越南市场好做吗?
  5. UE4课堂笔记——《UE4C++游戏开发入门教程!》第一期开场,C++必须了解小知识
  6. OBS框架流程和源码分析七一视频流捕获机制
  7. 编写现代 CSS 代码的 20 个建议
  8. Python---第6天:数据处理的瑞士军刀pandas下篇
  9. PAT日志 1011
  10. Android开发 报错: xxx does not have a NavController set on xxx