├── .gitignore
├── README.md
├── app
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── github
│ │ └── qing
│ │ └── multtypeimagelayout
│ │ ├── HomeActivity.java
│ │ ├── NewsActivity.java
│ │ ├── adapter
│ │ ├── MultiImgAdapter.java
│ │ └── RecommendCardAdapter.java
│ │ ├── data
│ │ ├── ContentData.java
│ │ ├── DataFactory.java
│ │ ├── HotData.java
│ │ ├── ImageUrl.java
│ │ ├── JikeData.java
│ │ ├── RecommendData.java
│ │ ├── RecommendList.java
│ │ └── WeatherData.java
│ │ ├── manager
│ │ └── ImgGridLayoutManager.java
│ │ ├── photo
│ │ ├── LazyFragment.java
│ │ ├── PhotoActivity.java
│ │ ├── PhotoFragment.java
│ │ ├── PhotoViewPager.java
│ │ └── SmoothImageView.java
│ │ ├── utils
│ │ ├── DisplayUtils.java
│ │ └── ImageLoader.java
│ │ └── viewbinder
│ │ ├── BaseContentViewBinder.java
│ │ ├── ContentDataType.java
│ │ ├── HotViewBinder.java
│ │ ├── MultiImgViewBinder.java
│ │ ├── MusicViewBinder.java
│ │ ├── RecommendViewBinder.java
│ │ ├── SingleImgViewBinder.java
│ │ ├── TextContentViewBInder.java
│ │ ├── VideoViewBinder.java
│ │ └── WeatherViewBinder.java
│ └── res
│ ├── drawable
│ ├── blue_button.xml
│ ├── card_shape.xml
│ ├── indicator_shape.xml
│ └── tag_shape.xml
│ ├── layout
│ ├── activity_home.xml
│ ├── activity_news.xml
│ ├── activity_photo.xml
│ ├── fragment_photo_layout.xml
│ ├── include_line.xml
│ ├── item_base_content_layout.xml
│ ├── item_content_single_image.xml
│ ├── item_hot_layout.xml
│ ├── item_image.xml
│ ├── item_mult_img_layout.xml
│ ├── item_music_layout.xml
│ ├── item_recommend_card_layout.xml
│ ├── item_recommend_layout.xml
│ ├── item_video_layout.xml
│ └── item_weather_layout.xml
│ ├── mipmap-hdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ ├── arow_right.png
│ ├── arrow_down.png
│ ├── close.png
│ ├── delete.png
│ ├── heart.png
│ ├── hot.png
│ ├── ic_launcher.png
│ ├── ic_launcher_round.png
│ ├── link.png
│ ├── local.png
│ ├── message.png
│ ├── music.png
│ ├── play.png
│ ├── play_gray.png
│ ├── plus.png
│ ├── share.png
│ ├── weather01.png
│ ├── weather02.png
│ ├── weather03.png
│ ├── weather04.png
│ └── weather05.png
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.png
│ └── ic_launcher_round.png
│ └── values
│ ├── colors.xml
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 | /.idea
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### MultiTypeImageLayout
2 |
3 | > 该项目是一个`Demo`项目,主要用来实现列表中多个`Item`展现,九宫格图片展示,以及类似微信的多图预览等功能。之所以没有做成`Lib`是由于有些实现需要根据项目的不同需求去修改,如:九宫格的展现方式,图片点击后的其他处理等,抽取出来如果有其他需求,还得在抽取的代码中修改。所以决定放在`Demo`中实现所有的功能。`Demo`中许多细节也都处理过,所以可以作为一种实现参考。
4 |
5 | #### 多Item列表
6 |
7 | 列表界面仿`即刻APP`的消息列表页,里面包含不同的`Item`布局,使用[**MultiType**](https://github.com/drakeet/MultiType)实现,该`Lib`提供了详细的使用文档,对于多`Item`布局非常方便。
8 |
9 |