weiciyuan代码阅读2
来源:互联网 发布:淘宝消保怎么交 编辑:程序博客网 时间:2024/06/05 14:49
这次主要是想知道
此布局对应的是,timeline_listview_item_layout。
其实这里首页对应的listview的item有四种布局,分别是:
timeline_listview_item_simple_layout
timeline_listview_item_middle_layout
timeline_listview_item_big_pic_layout
timeline_listview_item_layout
而在文件AbstractAppListAdapter中就根据不同的情况生成不同的布局类型(TYPE_MIDDLE、TYPE_NOMAL等等),
然后根据不同的布局类型加载上面不同的timeline_listview_item_xxx_layout
@Override public int getItemViewType(int position) { if (position >= bean.size()) { return -1; } if (bean.get(position) == null) { return TYPE_MIDDLE; } if (!showOriStatus) { return TYPE_SIMPLE; } if (SettingUtility.getEnableBigPic()) { return TYPE_NORMAL_BIG_PIC; } else { return TYPE_NORMAL; } }
图片中的九宫格是如何实现的呢?
来到布局文件timeline_listview_item_layout.xml中可以看到如下:
<span style="white-space:pre"></span><GridLayout android:id="@+id/repost_content__pic_multi" android:layout_below="@id/repost_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:visibility="gone" android:layout_marginLeft="0dp" android:layout_marginTop="5dp" android:columnCount="3" android:rowCount="3" android:orientation="horizontal" android:useDefaultMargins="false" android:clickable="false"> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> <org.qii.weiciyuan.support.asyncdrawable.MultiPicturesChildImageView style="@style/listViewMultiImageView"/> </GridLayout>(1)类似的效果我也实现过使用的是GridView(也是很方便);
(2)这里使用的是GridLayout实现;
(3)注意到源码其实还有一个GridLayout,一个是content_pic_multi,一个是repost_content__pic_multi。
作者很明显告诉我们,一个是我们发的内容包含了图片,一个是恢复的内容里面包含了图片。
0 0
- weiciyuan代码阅读2
- weiciyuan代码阅读
- PcShare2005代码阅读(2)
- vnc 代码阅读 2
- 代码阅读2
- x264代码阅读笔记2
- ucos代码阅读(2)
- X264代码阅读笔记2
- Cartographer 代码阅读分析-2
- fg代码阅读笔记2
- 阅读代码
- 阅读代码
- 代码阅读
- 代码阅读
- 代码阅读
- 代码阅读
- Linux中ipv6代码阅读(2)
- 跟踪器代码阅读(2)
- 根据用户id获取其所有微博
- 在无修改权限的情况下修改文件hosts中的内容
- 大整数取模
- 用Total Commander替换windos默认资源管理器的方法
- 《Redis源码学习笔记》发布/订阅
- weiciyuan代码阅读2
- ZigBee组网学习笔记(八)--温度传感器
- linux的hostname修改详解
- PhotoShop算法实现进阶-模糊滤镜-径向模糊(二十五)
- 有向图强连通分量的Tarjan算法
- 《Redis源码学习笔记》事务
- 《Redis源码学习笔记》键过期
- 黑马程序员——C语言基础——sizeof、strlen、printf小结
- 基类子类子对象的构造与析构顺序