Open source project in order to implement pinterest like list view on android. (You can check how pinterest app looks like form below link..)
https://play.google.com/store/apps/details?id=com.pinterest&hl=en
This project is statred based on sony deveoper's blog post 'making your own 3d list'.
http://developer.sonymobile.com/2010/05/20/android-tutorial-making-your-own-3d-list-part-1/
But, currenty it is implemented based on android framework 2.3's list view source. You can check modified list view sources in internal package.
- Entry from XML layout.
- Choice Mode & Item Selection.
- Filter
- Handle Key Event & Arrow Scrolling..
This is a screen shot of sample activity.
To run Sample App.
-
clone project.
-
run on your android phone.
-
in option menu, you can add items or lunch pull-to-refresh sample.
To use Pinterest Like Multi Column View.
-
check this project as library project.
-
MultiColumListView is the view what you need.
To use pull-to-refresh features.
-
check this project as library project.
-
MultiColumnPullToRefreshListView class in extra folder is what you need.
-
plaColumnNumber
Number of column. (default value is 2)
-
plaLandscapeColumnNumber
Number of column in landscape mode (the orientation that window's width is longer than height.)
PLA_ListView was made based on Android 2.3 Framework's ListView, and support those protected methods to let a user customize list view's behavior.
@Override
protected void onMeasureChild(View child, int position, int widthMeasureSpec, int heightMeasureSpec);
@Override
protected void onItemAddedToList(int position, boolean flow );
@Override
protected void onLayoutSync(int syncPos);
@Override
protected void onLayoutSyncFinished(int syncPos);
@Override
protected int getFillChildBottom();
@Override
protected int getFillChildTop();
@Override
protected int getScrollChildBottom();
@Override
protected int getScrollChildTop();
@Override
protected int getItemLeft(int pos);
@Override
protected int getItemTop( int pos );
@Override
protected int getItemBottom( int pos );
@Override
protected void onAdjustChildViews( boolean down );
- Fling 및 스크롤바를 지원하지 않습니다.
- Scroll Up / Down 시 재 정렬되는 아이템의 위치가 변경되는 버그가 있습니다.
- 리스트의 마지막 부분에서 스크롤이 자연스럽지 않습니다.
- 어뎁터에 데이터를 추가해도 정상적으로 동작
- PullToRefresh 라이브러리와 연동.
- Fling 속도가 이상함.
- 복잡한 뷰를 사용하는 경우, 스크롤 할 떄 마다 뷰의 위치가 Y Position 이 변경됩니다.
- 어댑터에 데이터가 삭제, 변경되거나 중간에 삽입 되는 경우 처리
*그외 아주 많은 문제가 있습니다... 아직 열혈 개발 중 인걸요... =)
Any kinds of helps (bug report / pull request / suggestions) are welcomed =)
If you are submitting a patch, please add your name to AUTHORS.md.
Copyright 2012 PinterestLikeAdapterView authors. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.