From 3c31ab71d5610a679a0d586f63bc0465c67f8326 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Wed, 15 Jan 2014 09:35:52 +0900 Subject: [PATCH 01/32] Added Travis configuration. --- .travis.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..e3d9814 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,15 @@ +before_script: +- if [ `uname -m` = x86_64 ]; then sudo apt-get update; fi +- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch; fi +- sudo wget -q http://dl.google.com/android/android-sdk_r22-linux.tgz +- sudo tar xzvf android-sdk_r22-linux.tgz > /dev/null +- export ANDROID_HOME=`pwd`/android-sdk-linux +- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools +- echo "sdk.dir=$ANDROID_HOME" > local.properties +- echo y | sudo android-sdk-linux/tools/android update sdk -a -t tools,platform-tools,build-tools-19.0.1,android-19 --no-ui +- sudo android-sdk-linux/tools/android update project --path . --target "android-19" --subprojects + +script: +- sudo ant clean +- sudo ant debug + From 124b332bf65d7418444e7debcba4f07f3a0d5051 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Wed, 15 Jan 2014 10:24:54 +0900 Subject: [PATCH 02/32] Added Travis Status to README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 28dc336..952d172 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ PLA(PinterestLikeAdapterView) ================================== +Branch **Master**: [![Build Status](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView.png?branch=master)](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView) + Open source project in order to implement pinterest like list view on android. (You can check how pinterest app looks like form below link..) From 37ba51a7ba767447e19c08643105aa42653e048b Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Wed, 15 Jan 2014 10:37:08 +0900 Subject: [PATCH 03/32] modified README.md. --- README.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 952d172..77164ef 100644 --- a/README.md +++ b/README.md @@ -3,21 +3,15 @@ PLA(PinterestLikeAdapterView) Branch **Master**: [![Build Status](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView.png?branch=master)](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView) -Open source project in order to implement pinterest like list view on android. -(You can check how pinterest app looks like form below link..) +Open source project in order to implement pinterest like list view on android. (You can check how [pinterest app](https://play.google.com/store/apps/details?id=com.pinterest) looks like form) -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/ +This project is statred based on Anders Ericson'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. Not supported Features ---------------- - +---------------------- * Entry from XML layout. * Choice Mode & Item Selection. * Filter From dbb655413970078913d18545de6f79ba942d9cb4 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Wed, 5 Feb 2014 14:46:55 +0900 Subject: [PATCH 04/32] Displayed a sample image properly. Github changed their static page URIs. So I modified our URI as their convention. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 77164ef..394605c 100644 --- a/README.md +++ b/README.md @@ -127,4 +127,4 @@ License See the License for the specific language governing permissions and limitations under the License. - [3]: http://cloud.github.com/downloads/huewu/PinterestLikeAdapterView/screenshot.png + [3]: https://raw.github.com/GDG-Korea/PinterestLikeAdapterView/master/screenshot.png From a8bd232aa534171e914cf46230d05031ab04b44d Mon Sep 17 00:00:00 2001 From: StateGrace Date: Tue, 8 Apr 2014 14:07:59 +0800 Subject: [PATCH 05/32] add OnLoadMoreListener, Rich sample, Fixed can't Refresh in MultiColumnPullToRefreshListView, add nationalization, add add author --- AUTHORS.md | 1 + res/values-zh/strings.xml | 6 + .../huewu/pla/lib/MultiColumnListView.java | 49 +++- .../lib/MultiColumnPullToRefreshListView.java | 18 +- .../sample/PullToRefreshSampleActivity.java | 84 ++----- .../com/huewu/pla/sample/SampleActivity.java | 216 +++++++++--------- 6 files changed, 192 insertions(+), 182 deletions(-) create mode 100644 res/values-zh/strings.xml diff --git a/AUTHORS.md b/AUTHORS.md index df82045..443c134 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -9,4 +9,5 @@ Keep the list sorted please. * Leonardo TaeHwan Kim - liger745547 at gmail.com * Leonardo YongUk Kim - dalinaum at gmail.com * Thomas Urbanitsch - urbtom at bluesource.at + * Feng Tao - stategrace2013 at gmail.com diff --git a/res/values-zh/strings.xml b/res/values-zh/strings.xml new file mode 100644 index 0000000..c93aa08 --- /dev/null +++ b/res/values-zh/strings.xml @@ -0,0 +1,6 @@ + + 下拉可以刷新 + 松开可以刷新 + 刷新中 + 最近更新: %1$s + diff --git a/src/main/java/com/huewu/pla/lib/MultiColumnListView.java b/src/main/java/com/huewu/pla/lib/MultiColumnListView.java index 8b7e664..f3c565c 100644 --- a/src/main/java/com/huewu/pla/lib/MultiColumnListView.java +++ b/src/main/java/com/huewu/pla/lib/MultiColumnListView.java @@ -24,6 +24,7 @@ import android.view.View; import com.huewu.pla.R; +import com.huewu.pla.lib.internal.PLA_AbsListView; import com.huewu.pla.lib.internal.PLA_ListView; /** @@ -427,6 +428,52 @@ public int getTop() { return getScrollChildTop(); } - }//end of class + } + + + private boolean loadingMoreComplete = true; + + public void onLoadMoreComplete() { + loadingMoreComplete = true; + } + + public interface OnLoadMoreListener { + /** + * Method to be called when scroll to buttom is requested + */ + void onLoadMore(); + } + + public OnScrollListener scroller = new OnScrollListener() { + private int visibleLastIndex = 0; + private static final int OFFSET = 2; + + @Override + public void onScrollStateChanged(PLA_AbsListView view, int scrollState) { + int lastIndex = getAdapter().getCount() - OFFSET; + if (scrollState == OnScrollListener.SCROLL_STATE_IDLE + && visibleLastIndex == lastIndex && loadingMoreComplete) { + + loadMoreListener.onLoadMore(); + loadingMoreComplete = false; + + } + } + + @Override + public void onScroll(PLA_AbsListView view, int firstVisibleItem, + int visibleItemCount, int totalItemCount) { + visibleLastIndex = firstVisibleItem + visibleItemCount - OFFSET; + } + }; + OnLoadMoreListener loadMoreListener; + + public void setOnLoadMoreListener(OnLoadMoreListener listener) { + + if (listener != null) { + this.loadMoreListener = listener; + this.setOnScrollListener(scroller); + } + }//end of class }//end of class diff --git a/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java b/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java index e10bfed..416f058 100644 --- a/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java +++ b/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java @@ -323,7 +323,7 @@ private void init(Context context, AttributeSet attrs) { } TextView tv = new TextView(context); - tv.setText("Loading"); + tv.setText(getContext().getString(R.string.ptr_loading)); tv.setTypeface(Typeface.DEFAULT_BOLD); tv.setTextSize(getDimensionDpSize(R.styleable.PullToRefreshView_ptrTextSize, context, attrs)); @@ -363,7 +363,7 @@ private void setHeaderPadding(int padding) { header.setLayoutParams(mlp); } - private boolean isPulling = false; + private boolean isPulling = true; private boolean isPull(MotionEvent event) { return isPulling; @@ -377,7 +377,7 @@ public boolean onInterceptTouchEvent(MotionEvent event) { // header.getLayoutParams(); // Log.i("Vingle", "interceptEvent hx : " + mlp.topMargin); // Log.i("Vingle", "isHeaderRefresing : " + isHeaderRefreshing); - + /* if (isHeaderRefreshing && isHeaderShowing) { } @@ -405,7 +405,7 @@ public boolean onInterceptTouchEvent(MotionEvent event) { case MotionEvent.ACTION_UP: isPulling = false; break; - } + }*/ return super.onInterceptTouchEvent(event); } @@ -433,7 +433,7 @@ public boolean onTouchEvent(MotionEvent event) { case MotionEvent.ACTION_UP: if (isPull(event) - && (state == State.RELEASE_TO_REFRESH || getFirstVisiblePosition() == 0)) { + && (state == State.RELEASE_TO_REFRESH && getFirstVisiblePosition() == 0)) { switch (state) { case RELEASE_TO_REFRESH: setState(State.REFRESHING); @@ -725,19 +725,19 @@ public void handleMessage(Message msg) { switch (msg.what) { case LOADINGZERO: - tv.setText("Loading"); + tv.setText(tv.getContext().getString(R.string.ptr_loading)); break; case LOADINGONE: - tv.setText("Loading."); + tv.setText(tv.getContext().getString(R.string.ptr_loading)+"."); break; case LOADINGTWO: - tv.setText("Loading.."); + tv.setText(tv.getContext().getString(R.string.ptr_loading)+".."); break; case LOADINGTHREE: - tv.setText("Loading..."); + tv.setText(tv.getContext().getString(R.string.ptr_loading)+"..."); break; default: diff --git a/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java b/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java index ab0669e..1b591df 100644 --- a/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java +++ b/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java @@ -1,39 +1,43 @@ package com.huewu.pla.sample; -import android.app.Activity; import android.content.Context; -import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ArrayAdapter; -import android.widget.ListAdapter; - import com.huewu.pla.R; -import com.huewu.pla.lib.internal.PLA_AdapterView; +import com.huewu.pla.lib.MultiColumnListView; +import com.huewu.pla.lib.MultiColumnPullToRefreshListView; -import java.util.Arrays; -import java.util.Random; +import java.net.URL; +import java.text.SimpleDateFormat; -public class PullToRefreshSampleActivity extends Activity { +public class PullToRefreshSampleActivity extends SampleActivity { private class MySimpleAdapter extends ArrayAdapter { - public MySimpleAdapter(Context context, int layoutRes) { super(context, layoutRes, android.R.id.text1); } } - - private PLA_AdapterView mAdapterView = null; - private MySimpleAdapter mAdapter = null; + private MultiColumnPullToRefreshListView multiColumnPullToRefreshListView = null; @SuppressWarnings("unchecked") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sample_pull_to_refresh_act); - //mAdapterView = (PLA_AdapterView) findViewById(R.id.list); - mAdapterView = (PLA_AdapterView) findViewById(R.id.list); + multiColumnPullToRefreshListView = (MultiColumnPullToRefreshListView) findViewById(R.id.list); + super.multiColumnListView = this.multiColumnPullToRefreshListView; + this.multiColumnPullToRefreshListView.setShowLastUpdatedText(true); + this.multiColumnPullToRefreshListView.setLastUpdatedDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); + this.multiColumnPullToRefreshListView.setOnRefreshListener(new MultiColumnPullToRefreshListView.OnRefreshListener() { + @Override + public void onRefresh() { + PullToRefreshSampleActivity.super.initAdapter(); + //setting load flag + PullToRefreshSampleActivity.this.multiColumnPullToRefreshListView.onRefreshComplete(); + } + }); } @Override @@ -44,62 +48,12 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { - - switch(item.getItemId()){ - case 1001: - { - int startCount = mAdapter.getCount(); - for( int i = 0; i < 100; ++i){ - //generate 100 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(startCount + i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(100)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - } - break; - case 1002: - { - Intent intent = new Intent(this, PullToRefreshSampleActivity.class); - startActivity(intent); - } - break; - } - return true; + return super.onOptionsItemSelected(item); } @Override protected void onResume() { super.onResume(); - initAdapter(); - mAdapterView.setAdapter(mAdapter); - //mAdapterView.setAdapter(mAdapter); - } - - private Random mRand = new Random(); - private void initAdapter() { - mAdapter = new MySimpleAdapter(this, R.layout.sample_item); - - for( int i = 0; i < 30; ++i){ - //generate 30 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(500)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - } }//end of class diff --git a/src/main/java/com/huewu/pla/sample/SampleActivity.java b/src/main/java/com/huewu/pla/sample/SampleActivity.java index 24e3393..8d7fb48 100644 --- a/src/main/java/com/huewu/pla/sample/SampleActivity.java +++ b/src/main/java/com/huewu/pla/sample/SampleActivity.java @@ -8,119 +8,121 @@ import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.TextView; - import com.huewu.pla.R; import com.huewu.pla.lib.MultiColumnListView; import com.huewu.pla.lib.internal.PLA_AbsListView.LayoutParams; - import java.util.Arrays; import java.util.Random; public class SampleActivity extends Activity { - private class MySimpleAdapter extends ArrayAdapter { - - public MySimpleAdapter(Context context, int layoutRes) { - super(context, layoutRes, android.R.id.text1); - } - } - - private MultiColumnListView mAdapterView = null; - private MySimpleAdapter mAdapter = null; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.sample_act); - //mAdapterView = (PLA_AdapterView) findViewById(R.id.list); - - mAdapterView = (MultiColumnListView) findViewById(R.id.list); - - { - for( int i = 0; i < 3; ++i ){ - //add header view. - TextView tv = new TextView(this); - tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); - tv.setText("Hello Header!! ........................................................................"); - mAdapterView.addHeaderView(tv); - } - } - { - for( int i = 0; i < 3; ++i ){ - //add footer view. - TextView tv = new TextView(this); - tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); - tv.setText("Hello Footer!! ........................................................................"); - mAdapterView.addFooterView(tv); - } - } - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - menu.add(Menu.NONE, 1001, 0, "Load More Contents"); - menu.add(Menu.NONE, 1002, 0, "Launch Pull-To-Refresh Activity"); - return super.onCreateOptionsMenu(menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - - switch(item.getItemId()){ - case 1001: - { - int startCount = mAdapter.getCount(); - for( int i = 0; i < 100; ++i){ - //generate 100 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(startCount + i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(100)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - } - break; - case 1002: - { - Intent intent = new Intent(this, PullToRefreshSampleActivity.class); - startActivity(intent); - } - break; - } - return true; - } - - @Override - protected void onResume() { - super.onResume(); - initAdapter(); - mAdapterView.setAdapter(mAdapter); - //mAdapterView.setAdapter(mAdapter); - } - - private Random mRand = new Random(); - private void initAdapter() { - mAdapter = new MySimpleAdapter(this, R.layout.sample_item); - - for( int i = 0; i < 30; ++i){ - //generate 30 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(500)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - - } - + private class MySimpleAdapter extends ArrayAdapter { + public MySimpleAdapter(Context context, int layoutRes) { + super(context, layoutRes, android.R.id.text1); + } + } + + protected MultiColumnListView multiColumnListView = null; + private MySimpleAdapter mAdapter = null; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.sample_act); + this.multiColumnListView = (MultiColumnListView) findViewById(R.id.list); + initHeaderAndFooter(); + this.multiColumnListView.setOnLoadMoreListener(new MultiColumnListView.OnLoadMoreListener() { + @Override + public void onLoadMore() { + moreLoadData(); + //setting load flag + SampleActivity.this.multiColumnListView.onLoadMoreComplete(); + } + }); + + } + //init header and footer + protected void initHeaderAndFooter(){ + { + for( int i = 0; i < 3; ++i ){ + //add header view. + TextView tv = new TextView(this); + tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); + tv.setText("Hello Header!! ........................................................................"); + this.multiColumnListView.addHeaderView(tv); + } + } + { + for( int i = 0; i < 3; ++i ){ + //add footer view. + TextView tv = new TextView(this); + tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); + tv.setText("Hello Footer!! ........................................................................"); + this.multiColumnListView.addFooterView(tv); + } + } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + menu.add(Menu.NONE, 1001, 0, "Load More Contents"); + menu.add(Menu.NONE, 1002, 0, "Launch Pull-To-Refresh Activity"); + return super.onCreateOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch(item.getItemId()){ + case 1001: + { + moreLoadData(); + } + break; + case 1002: + { + Intent intent = new Intent(this, PullToRefreshSampleActivity.class); + startActivity(intent); + } + break; + } + return true; + } + + private void moreLoadData(){ + int startCount = this.mAdapter.getCount(); + for( int i = 0; i < 100; ++i){ + //generate 100 random items. + StringBuilder builder = new StringBuilder(); + builder.append("Hello!!["); + builder.append(startCount + i); + builder.append("] "); + char[] chars = new char[mRand.nextInt(100)]; + Arrays.fill(chars, '1'); + builder.append(chars); + this.mAdapter.add(builder.toString()); + } + } + + @Override + protected void onResume() { + super.onResume(); + initAdapter(); + this.multiColumnListView.setAdapter(mAdapter); + } + + private Random mRand = new Random(); + protected void initAdapter() { + this.mAdapter = new MySimpleAdapter(this, R.layout.sample_item); + for( int i = 0; i < 30; ++i){ + //generate 30 random items. + StringBuilder builder = new StringBuilder(); + builder.append("Hello!!["); + builder.append(i); + builder.append("] "); + char[] chars = new char[mRand.nextInt(500)]; + Arrays.fill(chars, '1'); + builder.append(chars); + mAdapter.add(builder.toString()); + } + } }//end of class From 5c8f51e530c404f1afd223c4b5c955a8e85a223f Mon Sep 17 00:00:00 2001 From: destinyd Date: Mon, 23 Jun 2014 02:47:43 +0000 Subject: [PATCH 06/32] edit pom.xml for lastest version maven --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6447511..da15f10 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ com.jayway.maven.plugins.android.generation2 android-maven-plugin true - 3.5.3 + 3.8.2 ignored From a15bdc1dde4bf97cc3307720cbdd7dcefc1d3732 Mon Sep 17 00:00:00 2001 From: juyeong Date: Fri, 18 Jul 2014 12:32:33 +0900 Subject: [PATCH 07/32] Migrated to gradle --- .classpath | 9 - .gitignore | 18 +- .project | 33 ---- .travis.yml | 39 +++-- build.gradle | 24 +++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 49896 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++++++++++++++++++ gradlew.bat | 90 ++++++++++ library/.gitignore | 1 + library/build.gradle | 10 ++ library/pom.xml | 34 ++++ library/src/main/AndroidManifest.xml | 8 + .../java/com/huewu/pla/lib/DebugUtil.java | 0 .../huewu/pla/lib/MultiColumnListView.java | 2 +- .../lib/MultiColumnPullToRefreshListView.java | 6 +- .../pla/lib/internal/PLA_AbsListView.java | 27 ++- .../pla/lib/internal/PLA_AdapterView.java | 12 +- .../internal/PLA_HeaderViewListAdapter.java | 0 .../huewu/pla/lib/internal/PLA_ListView.java | 25 ++- .../ad_button_015_refresh_down_arrow.png | Bin .../src/main/res}/drawable-hdpi/arrow.png | Bin .../src/main/res}/drawable-hdpi/updating.png | Bin .../res}/drawable-hdpi/updating_spinner.xml | 0 .../ad_button_015_refresh_down_arrow.png | Bin .../ad_button_015_refresh_down_arrow.png | Bin .../res}/layout/pull_to_refresh_header.xml | 0 .../src/main/res}/values/attrs.xml | 0 .../src/main/res}/values/dimens.xml | 0 {res => library/src/main/res}/values/ids.xml | 0 .../src/main/res}/values/strings.xml | 0 lint.xml | 3 - pom.xml | 128 +++++++------- proguard-project.txt | 20 --- project.properties | 15 -- sample/.gitignore | 1 + sample/build.gradle | 17 ++ sample/pom.xml | 39 +++++ .../src/main/AndroidManifest.xml | 22 +-- .../sample/PullToRefreshSampleActivity.java | 2 +- .../com/huewu/pla/sample/SampleActivity.java | 2 +- .../main/res}/drawable-hdpi/ic_launcher.png | Bin .../main/res}/drawable-mdpi/ic_launcher.png | Bin .../main/res}/drawable-xhdpi/ic_launcher.png | Bin .../src/main/res}/layout/sample_act.xml | 0 .../src/main/res}/layout/sample_item.xml | 0 .../layout/sample_pull_to_refresh_act.xml | 0 .../src/main/res}/values-v11/styles.xml | 0 .../src/main/res}/values-v14/styles.xml | 0 sample/src/main/res/values/ids.xml | 6 + sample/src/main/res/values/strings.xml | 3 + .../src/main/res}/values/styles.xml | 0 settings.gradle | 2 + 53 files changed, 543 insertions(+), 225 deletions(-) delete mode 100644 .classpath delete mode 100644 .project create mode 100644 build.gradle create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 library/.gitignore create mode 100644 library/build.gradle create mode 100644 library/pom.xml create mode 100644 library/src/main/AndroidManifest.xml rename {src => library/src}/main/java/com/huewu/pla/lib/DebugUtil.java (100%) rename {src => library/src}/main/java/com/huewu/pla/lib/MultiColumnListView.java (99%) rename {src => library/src}/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java (99%) rename {src => library/src}/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java (99%) rename {src => library/src}/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java (98%) rename {src => library/src}/main/java/com/huewu/pla/lib/internal/PLA_HeaderViewListAdapter.java (100%) rename {src => library/src}/main/java/com/huewu/pla/lib/internal/PLA_ListView.java (99%) rename {res => library/src/main/res}/drawable-hdpi/ad_button_015_refresh_down_arrow.png (100%) rename {res => library/src/main/res}/drawable-hdpi/arrow.png (100%) rename {res => library/src/main/res}/drawable-hdpi/updating.png (100%) rename {res => library/src/main/res}/drawable-hdpi/updating_spinner.xml (100%) rename {res => library/src/main/res}/drawable-mdpi/ad_button_015_refresh_down_arrow.png (100%) rename {res => library/src/main/res}/drawable-xhdpi/ad_button_015_refresh_down_arrow.png (100%) rename {res => library/src/main/res}/layout/pull_to_refresh_header.xml (100%) rename {res => library/src/main/res}/values/attrs.xml (100%) rename {res => library/src/main/res}/values/dimens.xml (100%) rename {res => library/src/main/res}/values/ids.xml (100%) rename {res => library/src/main/res}/values/strings.xml (100%) delete mode 100644 lint.xml delete mode 100644 proguard-project.txt delete mode 100644 project.properties create mode 100644 sample/.gitignore create mode 100644 sample/build.gradle create mode 100644 sample/pom.xml rename AndroidManifest.xml => sample/src/main/AndroidManifest.xml (63%) rename {src => sample/src}/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java (98%) rename {src => sample/src}/main/java/com/huewu/pla/sample/SampleActivity.java (99%) rename {res => sample/src/main/res}/drawable-hdpi/ic_launcher.png (100%) rename {res => sample/src/main/res}/drawable-mdpi/ic_launcher.png (100%) rename {res => sample/src/main/res}/drawable-xhdpi/ic_launcher.png (100%) rename {res => sample/src/main/res}/layout/sample_act.xml (100%) rename {res => sample/src/main/res}/layout/sample_item.xml (100%) rename {res => sample/src/main/res}/layout/sample_pull_to_refresh_act.xml (100%) rename {res => sample/src/main/res}/values-v11/styles.xml (100%) rename {res => sample/src/main/res}/values-v14/styles.xml (100%) create mode 100644 sample/src/main/res/values/ids.xml create mode 100644 sample/src/main/res/values/strings.xml rename {res => sample/src/main/res}/values/styles.xml (100%) create mode 100644 settings.gradle diff --git a/.classpath b/.classpath deleted file mode 100644 index 0df2505..0000000 --- a/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/.gitignore b/.gitignore index 5c2fdd5..1bfb6e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,7 @@ -gen/ -gen/* -bin/ -bin/* -target/ -target/* -.settings -tmp/ +.gradle +/local.properties +/.idea/workspace.xml .DS_Store -*.orig .idea -.jhw-cache -hardcopy.* -local.properties - +*.iml +build diff --git a/.project b/.project deleted file mode 100644 index b8fa105..0000000 --- a/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - MultiColumnListView_HUEWU - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/.travis.yml b/.travis.yml index e3d9814..50861da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,15 +1,26 @@ -before_script: -- if [ `uname -m` = x86_64 ]; then sudo apt-get update; fi -- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch; fi -- sudo wget -q http://dl.google.com/android/android-sdk_r22-linux.tgz -- sudo tar xzvf android-sdk_r22-linux.tgz > /dev/null -- export ANDROID_HOME=`pwd`/android-sdk-linux -- export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools -- echo "sdk.dir=$ANDROID_HOME" > local.properties -- echo y | sudo android-sdk-linux/tools/android update sdk -a -t tools,platform-tools,build-tools-19.0.1,android-19 --no-ui -- sudo android-sdk-linux/tools/android update project --path . --target "android-19" --subprojects - -script: -- sudo ant clean -- sudo ant debug +language: + - android + +jdk: + - oraclejdk7 + +branches: + only: + - master +env: + matrix: + - ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a + +android: + components: + - build-tools-20.0.0 + - android-19 + - sysimg-19 + +before_script: + # Create and start emulator + - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI + - emulator -avd test -no-skin -no-audio -no-window & + - adb wait-for-device + - adb shell input keyevent 82 & diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..bd64a55 --- /dev/null +++ b/build.gradle @@ -0,0 +1,24 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:0.12.+' + } +} + +allprojects { + version = "1.0.3" + group = "com.huewu.pla" + + repositories { + mavenCentral() + } + + tasks.withType(JavaCompile) { + options.encoding = "UTF-8" + options.compilerArgs << "-Xlint:unchecked" + } +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..8c0fb64a8698b08ecc4158d828ca593c4928e9dd GIT binary patch literal 49896 zcmagFb986H(k`5d^NVfUwr$(C?M#x1ZQHiZiEVpg+jrjgoQrerx!>1o_ul)D>ebz~ zs=Mmxr&>W81QY-S1PKWQ%N-;H^tS;2*XwVA`dej1RRn1z<;3VgfE4~kaG`A%QSPsR z#ovnZe+tS9%1MfeDyz`RirvdjPRK~p(#^q2(^5@O&NM19EHdvN-A&StN>0g6QA^VN z0Gx%Gq#PD$QMRFzmK+utjS^Y1F0e8&u&^=w5K<;4Rz|i3A=o|IKLY+g`iK6vfr9?+ z-`>gmU&i?FGSL5&F?TXFu`&Js6h;15QFkXp2M1H9|Eq~bpov-GU(uz%mH0n55wUl- zv#~ccAz`F5wlQ>e_KlJS3@{)B?^v*EQM=IxLa&76^y51a((wq|2-`qON>+4dLc{Oo z51}}o^Zen(oAjxDK7b++9_Yg`67p$bPo3~BCpGM7uAWmvIhWc5Gi+gQZ|Pwa-Gll@<1xmcPy z|NZmu6m)g5Ftu~BG&Xdxclw7Cij{xbBMBn-LMII#Slp`AElb&2^Hw+w>(3crLH!;I zN+Vk$D+wP1#^!MDCiad@vM>H#6+`Ct#~6VHL4lzmy;lSdk>`z6)=>Wh15Q2)dQtGqvn0vJU@+(B5{MUc*qs4!T+V=q=wy)<6$~ z!G>e_4dN@lGeF_$q9`Ju6Ncb*x?O7=l{anm7Eahuj_6lA{*#Gv*TaJclevPVbbVYu z(NY?5q+xxbO6%g1xF0r@Ix8fJ~u)VRUp`S%&rN$&e!Od`~s+64J z5*)*WSi*i{k%JjMSIN#X;jC{HG$-^iX+5f5BGOIHWAl*%15Z#!xntpk($-EGKCzKa zT7{siZ9;4TICsWQ$pu&wKZQTCvpI$Xvzwxoi+XkkpeE&&kFb!B?h2hi%^YlXt|-@5 zHJ~%AN!g_^tmn1?HSm^|gCE#!GRtK2(L{9pL#hp0xh zME}|DB>(5)`iE7CM)&_+S}-Bslc#@B5W4_+k4Cp$l>iVyg$KP>CN?SVGZ(&02>iZK zB<^HP$g$Lq*L$BWd?2(F?-MUbNWTJVQdW7$#8a|k_30#vHAD1Z{c#p;bETk0VnU5A zBgLe2HFJ3032$G<`m*OB!KM$*sdM20jm)It5OSru@tXpK5LT>#8)N!*skNu1$TpIw zufjjdp#lyH5bZ%|Iuo|iu9vG1HrIVWLH>278xo>aVBkPN3V$~!=KnlXQ4eDqS7%E% zQ!z^$Q$b^6Q)g#cLpwur(|<0gWHo6A6jc;n`t(V9T;LzTAU{IAu*uEQ%Ort1k+Kn+f_N`9|bxYC+~Z1 zCC1UCWv*Orx$_@ydv9mIe(liLfOr7mhbV@tKw{6)q^1DH1nmvZ0cj215R<~&I<4S| zgnr;9Cdjqpz#o8i0CQjtl`}{c*P)aSdH|abxGdrR)-3z+02-eX(k*B)Uqv6~^nh** z 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/library/.gitignore b/library/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/library/.gitignore @@ -0,0 +1 @@ +/build diff --git a/library/build.gradle b/library/build.gradle new file mode 100644 index 0000000..7c8039d --- /dev/null +++ b/library/build.gradle @@ -0,0 +1,10 @@ +apply plugin: 'com.android.library' +android { + compileSdkVersion 19 + buildToolsVersion '20.0.0' + + defaultConfig { + minSdkVersion 8 + targetSdkVersion 19 + } +} \ No newline at end of file diff --git a/library/pom.xml b/library/pom.xml new file mode 100644 index 0000000..74a3d53 --- /dev/null +++ b/library/pom.xml @@ -0,0 +1,34 @@ + + + 4.0.0 + + library + aar + + PLA Library + + + com.huewu.pla + parent + 1.0.3-SNAPSHOT + + + + + com.google.android + android + + + + + + + com.jayway.maven.plugins.android.generation2 + android-maven-plugin + true + + + + diff --git a/library/src/main/AndroidManifest.xml b/library/src/main/AndroidManifest.xml new file mode 100644 index 0000000..eebd885 --- /dev/null +++ b/library/src/main/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/main/java/com/huewu/pla/lib/DebugUtil.java b/library/src/main/java/com/huewu/pla/lib/DebugUtil.java similarity index 100% rename from src/main/java/com/huewu/pla/lib/DebugUtil.java rename to library/src/main/java/com/huewu/pla/lib/DebugUtil.java diff --git a/src/main/java/com/huewu/pla/lib/MultiColumnListView.java b/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java similarity index 99% rename from src/main/java/com/huewu/pla/lib/MultiColumnListView.java rename to library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java index 8b7e664..f216b7e 100644 --- a/src/main/java/com/huewu/pla/lib/MultiColumnListView.java +++ b/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java @@ -122,7 +122,7 @@ protected void onMeasureChild(View child, int position, int widthMeasureSpec, in if(isFixedView(child)) child.measure(widthMeasureSpec, heightMeasureSpec); else - child.measure(MeasureSpec.EXACTLY | getColumnWidth(position), heightMeasureSpec); + child.measure(View.MeasureSpec.EXACTLY | getColumnWidth(position), heightMeasureSpec); } @Override diff --git a/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java b/library/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java similarity index 99% rename from src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java rename to library/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java index e10bfed..f44edca 100644 --- a/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java +++ b/library/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java @@ -358,7 +358,7 @@ private void init(Context context, AttributeSet attrs) { private void setHeaderPadding(int padding) { headerPadding = padding; - MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) header.getLayoutParams(); + ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) header.getLayoutParams(); mlp.setMargins(0, Math.round(padding), 0, 0); header.setLayoutParams(mlp); } @@ -604,7 +604,7 @@ public HeaderAnimationListener(int translation) { public void onAnimationStart(Animation animation) { stateAtAnimationStart = state; - android.view.ViewGroup.LayoutParams lp = getLayoutParams(); + ViewGroup.LayoutParams lp = getLayoutParams(); height = lp.height; lp.height = getHeight() - translation; setLayoutParams(lp); @@ -620,7 +620,7 @@ public void onAnimationEnd(Animation animation) { - headerContainer.getTop()); // setSelection(0); - android.view.ViewGroup.LayoutParams lp = getLayoutParams(); + ViewGroup.LayoutParams lp = getLayoutParams(); lp.height = height; setLayoutParams(lp); diff --git a/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java similarity index 99% rename from src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java rename to library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java index f5cbf3a..a2eb25e 100644 --- a/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java @@ -34,7 +34,6 @@ import android.view.ViewDebug; import android.view.ViewGroup; import android.view.ViewTreeObserver; -import android.widget.Adapter; import android.widget.ListAdapter; import android.widget.Scroller; @@ -351,7 +350,7 @@ public abstract class PLA_AbsListView extends PLA_AdapterView imple /** * Acts upon click */ - private PLA_AbsListView.PerformClick mPerformClick; + private PerformClick mPerformClick; /** * This view is in transcript mode -- it shows the bottom of the list when the data @@ -371,7 +370,7 @@ public abstract class PLA_AbsListView extends PLA_AdapterView imple private boolean mIsChildViewEnabled; /** - * The last scroll state reported to clients through {@link OnScrollListener}. + * The last scroll state reported to clients through {@link com.huewu.pla.lib.internal.PLA_AbsListView.OnScrollListener}. */ private int mLastScrollState = OnScrollListener.SCROLL_STATE_IDLE; @@ -421,7 +420,7 @@ public interface OnScrollListener { * Callback method to be invoked while the list view or grid view is being scrolled. If the * view is being scrolled, this method will be called before the next frame of the scroll is * rendered. In particular, it will be called before any calls to - * {@link Adapter#getView(int, View, ViewGroup)}. + * {@link android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)}. * * @param view The view whose scroll state is being reported * @@ -440,7 +439,7 @@ public interface OnScrollListener { * @param totalItemCount the number of items in the list adaptor */ public void onScroll(PLA_AbsListView view, int firstVisibleItem, int visibleItemCount, - int totalItemCount); + int totalItemCount); } public PLA_AbsListView(Context context) { @@ -565,7 +564,7 @@ void invokeOnItemScrollListener() { * @return true if the scrolling cache is enabled, false otherwise * * @see #setScrollingCacheEnabled(boolean) - * @see View#setDrawingCacheEnabled(boolean) + * @see android.view.View#setDrawingCacheEnabled(boolean) */ @ViewDebug.ExportedProperty public boolean isScrollingCacheEnabled() { @@ -583,7 +582,7 @@ public boolean isScrollingCacheEnabled() { * @param enabled true to enable the scroll cache, false otherwise * * @see #isScrollingCacheEnabled() - * @see View#setDrawingCacheEnabled(boolean) + * @see android.view.View#setDrawingCacheEnabled(boolean) */ public void setScrollingCacheEnabled(boolean enabled) { if (mScrollingCacheEnabled && !enabled) { @@ -1527,7 +1526,7 @@ public boolean onTouchEvent(MotionEvent ev) { mPerformClick = new PerformClick(); } - final PLA_AbsListView.PerformClick performClick = mPerformClick; + final PerformClick performClick = mPerformClick; performClick.mChild = child; performClick.mClickMotionPosition = motionPosition; performClick.rememberWindowAttachCount(); @@ -2576,12 +2575,12 @@ protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) @Override public LayoutParams generateLayoutParams(AttributeSet attrs) { - return new PLA_AbsListView.LayoutParams(getContext(), attrs); + return new LayoutParams(getContext(), attrs); } @Override protected boolean checkLayoutParams(ViewGroup.LayoutParams p) { - return p instanceof PLA_AbsListView.LayoutParams; + return p instanceof LayoutParams; } /** @@ -2654,7 +2653,7 @@ public void reclaimViews(List views) { // Reclaim views on screen for (int i = 0; i < childCount; i++) { View child = getChildAt(i); - PLA_AbsListView.LayoutParams lp = (PLA_AbsListView.LayoutParams) child.getLayoutParams(); + LayoutParams lp = (LayoutParams) child.getLayoutParams(); // Don't reclaim header or footer views, or views that should be ignored if (lp != null && mRecycler.shouldRecycleViewType(lp.viewType)) { views.add(child); @@ -2926,7 +2925,7 @@ void fillActiveViews(int childCount, int firstActivePosition) { final View[] activeViews = mActiveViews; for (int i = 0; i < childCount; i++) { View child = getChildAt(i); - PLA_AbsListView.LayoutParams lp = (PLA_AbsListView.LayoutParams) child.getLayoutParams(); + LayoutParams lp = (LayoutParams) child.getLayoutParams(); // Don't put header or footer views into the scrap heap if (lp != null && lp.viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER) { // Note: We do place AdapterView.ITEM_VIEW_TYPE_IGNORE in active views. @@ -3002,7 +3001,7 @@ View getScrapView(int position) { void addScrapView(View scrap) { DebugUtil.i("addToScrap"); - PLA_AbsListView.LayoutParams lp = (PLA_AbsListView.LayoutParams) scrap.getLayoutParams(); + LayoutParams lp = (LayoutParams) scrap.getLayoutParams(); if (lp == null) { return; } @@ -3046,7 +3045,7 @@ void scrapActiveViews() { for (int i = count - 1; i >= 0; i--) { final View victim = activeViews[i]; if (victim != null) { - int whichScrap = ((PLA_AbsListView.LayoutParams) victim.getLayoutParams()).viewType; + int whichScrap = ((LayoutParams) victim.getLayoutParams()).viewType; activeViews[i] = null; diff --git a/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java similarity index 98% rename from src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java rename to library/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java index 8f66c9e..6e1cec9 100644 --- a/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java @@ -23,21 +23,19 @@ import android.os.SystemClock; import android.util.AttributeSet; import android.util.SparseArray; -import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.SoundEffectConstants; import android.view.View; import android.view.ViewDebug; import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityManager; import android.widget.Adapter; import com.huewu.pla.lib.DebugUtil; /** - * An AdapterView is a view whose children are determined by an {@link Adapter}. + * An AdapterView is a view whose children are determined by an {@link android.widget.Adapter}. * *

* See {@link ListView}, {@link GridView}, {@link Spinner} and @@ -46,13 +44,13 @@ public abstract class PLA_AdapterView extends ViewGroup { /** - * The item view type returned by {@link Adapter#getItemViewType(int)} when + * The item view type returned by {@link android.widget.Adapter#getItemViewType(int)} when * the adapter does not want the item's view recycled. */ public static final int ITEM_VIEW_TYPE_IGNORE = -1; /** - * The item view type returned by {@link Adapter#getItemViewType(int)} when + * The item view type returned by {@link android.widget.Adapter#getItemViewType(int)} when * the item is a header or footer. */ public static final int ITEM_VIEW_TYPE_HEADER_OR_FOOTER = -2; @@ -359,11 +357,11 @@ public final OnItemSelectedListener getOnItemSelectedListener() { /** * Extra menu information provided to the - * {@link android.view.View.OnCreateContextMenuListener#onCreateContextMenu(ContextMenu, View, ContextMenuInfo) } + * {@link android.view.View.OnCreateContextMenuListener#onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo) } * callback when a context menu is brought up for this AdapterView. * */ - public static class AdapterContextMenuInfo implements ContextMenu.ContextMenuInfo { + public static class AdapterContextMenuInfo implements ContextMenuInfo { public AdapterContextMenuInfo(View targetView, int position, long id) { this.targetView = targetView; diff --git a/src/main/java/com/huewu/pla/lib/internal/PLA_HeaderViewListAdapter.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_HeaderViewListAdapter.java similarity index 100% rename from src/main/java/com/huewu/pla/lib/internal/PLA_HeaderViewListAdapter.java rename to library/src/main/java/com/huewu/pla/lib/internal/PLA_HeaderViewListAdapter.java diff --git a/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java similarity index 99% rename from src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java rename to library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java index 95f6622..2d3e86f 100644 --- a/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java @@ -32,7 +32,6 @@ import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; import android.widget.ListAdapter; -import android.widget.WrapperListAdapter; import com.huewu.pla.R; import com.huewu.pla.lib.DebugUtil; @@ -51,7 +50,7 @@ /** * A view that shows items in a vertically scrolling list. The items - * come from the {@link ListAdapter} associated with this view. + * come from the {@link android.widget.ListAdapter} associated with this view. * *

See the List View * tutorial.

@@ -90,14 +89,14 @@ public class PLA_ListView extends PLA_AbsListView { public class FixedViewInfo { /** The view to add to the list */ public View view; - /** The data backing the view. This is returned from {@link ListAdapter#getItem(int)}. */ + /** The data backing the view. This is returned from {@link android.widget.ListAdapter#getItem(int)}. */ public Object data; /** true if the fixed view should be selectable in the list */ public boolean isSelectable; } - private ArrayList mHeaderViewInfos = new ArrayList(); - private ArrayList mFooterViewInfos = new ArrayList(); + private ArrayList mHeaderViewInfos = new ArrayList(); + private ArrayList mFooterViewInfos = new ArrayList(); Drawable mDivider; int mDividerHeight; @@ -405,12 +404,12 @@ public boolean removeFooterView(View v) { /** * Returns the adapter currently in use in this ListView. The returned adapter - * might not be the same adapter passed to {@link #setAdapter(ListAdapter)} but - * might be a {@link WrapperListAdapter}. + * might not be the same adapter passed to {@link #setAdapter(android.widget.ListAdapter)} but + * might be a {@link android.widget.WrapperListAdapter}. * * @return The adapter currently used to display data in this ListView. * - * @see #setAdapter(ListAdapter) + * @see #setAdapter(android.widget.ListAdapter) */ @Override public ListAdapter getAdapter() { @@ -420,7 +419,7 @@ public ListAdapter getAdapter() { /** * Sets the data behind this ListView. * - * The adapter passed to this method may be wrapped by a {@link WrapperListAdapter}, + * The adapter passed to this method may be wrapped by a {@link android.widget.WrapperListAdapter}, * depending on the ListView features currently in use. For instance, adding * headers and/or footers will cause the adapter to be wrapped. * @@ -817,7 +816,7 @@ protected boolean recycleOnMeasure() { * current height reaches maxHeight. * * @param widthMeasureSpec The width measure spec to be given to a child's - * {@link View#measure(int, int)}. + * {@link android.view.View#measure(int, int)}. * @param startPosition The position of the first child to be shown. * @param endPosition The (inclusive) position of the last child to be * shown. Specify {@link #NO_POSITION} if the last child should be @@ -1516,7 +1515,7 @@ public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { * Go to the last or first item if possible (not worrying about panning across or navigating * within the internal focus of the currently selected item.) * - * @param direction either {@link View#FOCUS_UP} or {@link View#FOCUS_DOWN} + * @param direction either {@link android.view.View#FOCUS_UP} or {@link android.view.View#FOCUS_DOWN} * * @return whether selection was moved */ @@ -1953,7 +1952,7 @@ public int getDividerHeight() { /** * Sets the height of the divider that will be drawn between each item in the list. Calling - * this will override the intrinsic height as set by {@link #setDivider(Drawable)} + * this will override the intrinsic height as set by {@link #setDivider(android.graphics.drawable.Drawable)} * * @param height The new height of the divider in pixels. */ @@ -2194,7 +2193,7 @@ public long[] getCheckItemIds() { /** * Returns the set of checked items ids. The result is only valid if the * choice mode has not been set to {@link #CHOICE_MODE_NONE} and the adapter - * has stable IDs. ({@link ListAdapter#hasStableIds()} == {@code true}) + * has stable IDs. ({@link android.widget.ListAdapter#hasStableIds()} == {@code true}) * * @return A new array which contains the id of each checked item in the * list. diff --git a/res/drawable-hdpi/ad_button_015_refresh_down_arrow.png b/library/src/main/res/drawable-hdpi/ad_button_015_refresh_down_arrow.png similarity index 100% rename from res/drawable-hdpi/ad_button_015_refresh_down_arrow.png rename to library/src/main/res/drawable-hdpi/ad_button_015_refresh_down_arrow.png diff --git a/res/drawable-hdpi/arrow.png b/library/src/main/res/drawable-hdpi/arrow.png similarity index 100% rename from res/drawable-hdpi/arrow.png rename to library/src/main/res/drawable-hdpi/arrow.png diff --git a/res/drawable-hdpi/updating.png b/library/src/main/res/drawable-hdpi/updating.png similarity index 100% rename from res/drawable-hdpi/updating.png rename to library/src/main/res/drawable-hdpi/updating.png diff --git a/res/drawable-hdpi/updating_spinner.xml b/library/src/main/res/drawable-hdpi/updating_spinner.xml similarity index 100% rename from res/drawable-hdpi/updating_spinner.xml rename to library/src/main/res/drawable-hdpi/updating_spinner.xml diff --git a/res/drawable-mdpi/ad_button_015_refresh_down_arrow.png b/library/src/main/res/drawable-mdpi/ad_button_015_refresh_down_arrow.png similarity index 100% rename from res/drawable-mdpi/ad_button_015_refresh_down_arrow.png rename to library/src/main/res/drawable-mdpi/ad_button_015_refresh_down_arrow.png diff --git a/res/drawable-xhdpi/ad_button_015_refresh_down_arrow.png b/library/src/main/res/drawable-xhdpi/ad_button_015_refresh_down_arrow.png similarity index 100% rename from res/drawable-xhdpi/ad_button_015_refresh_down_arrow.png rename to library/src/main/res/drawable-xhdpi/ad_button_015_refresh_down_arrow.png diff --git a/res/layout/pull_to_refresh_header.xml b/library/src/main/res/layout/pull_to_refresh_header.xml similarity index 100% rename from res/layout/pull_to_refresh_header.xml rename to library/src/main/res/layout/pull_to_refresh_header.xml diff --git a/res/values/attrs.xml b/library/src/main/res/values/attrs.xml similarity index 100% rename from res/values/attrs.xml rename to library/src/main/res/values/attrs.xml diff --git a/res/values/dimens.xml b/library/src/main/res/values/dimens.xml similarity index 100% rename from res/values/dimens.xml rename to library/src/main/res/values/dimens.xml diff --git a/res/values/ids.xml b/library/src/main/res/values/ids.xml similarity index 100% rename from res/values/ids.xml rename to library/src/main/res/values/ids.xml diff --git a/res/values/strings.xml b/library/src/main/res/values/strings.xml similarity index 100% rename from res/values/strings.xml rename to library/src/main/res/values/strings.xml diff --git a/lint.xml b/lint.xml deleted file mode 100644 index ee0eead..0000000 --- a/lint.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 6447511..adc692f 100644 --- a/pom.xml +++ b/pom.xml @@ -1,31 +1,22 @@ - + 4.0.0 com.huewu.pla - pla - 1.02 - apklib + parent + 1.0.3-SNAPSHOT - Vingle Android App - + PinterestLikeAdapterView + Multi column listview like Pinterest http://www.vingle.net - - UTF-8 - UTF-8 - - - 1.6 - - 4.1.1.4 - 17 - - https://github.com/balmbees/PinterestLikeAdapterView.git scm:git@github.com:balmbees/PinterestLikeAdapterView.git - scm:git@github.com:balmbees/PinterestLikeAdapterView.git + scm:git@github.com:balmbees/PinterestLikeAdapterView.git + @@ -38,55 +29,58 @@ http://www.vingle.net/ - - - repo - https://github.com/balmbees/vingle-maven-repo/raw/PLA/master/releases - - - snapshot-repo - https://github.com/balmbees/vingle-maven-repo/raw/PLA/master/snapshots - - + + library + sample + + + + UTF-8 + UTF-8 + 4.1.1.4 + 19 + 3.8.2 + 1.6 + 1.6 + + + + + + com.google.android + android + ${android.version} + provided + + + + - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - true - 3.5.3 - - ignored - - ${android.platform} - - - - + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + + com.jayway.maven.plugins.android.generation2 + android-maven-plugin + ${android-maven.version} + + + ${android.platform} + + true + ${sourceCompatibility} + ${sourceCompatibility} + ${project.basedir}/src/main/AndroidManifest.xml + ${project.basedir}/src/main/res + + true + + + - - - pusher-java-client-mvn-repo - Pusher Java Client Library - https://raw.github.com/pusher/pusher-java-client/mvn-repo/ - - - true - - - true - - - - - - - - com.google.android - android - ${android.version} - provided - - - diff --git a/proguard-project.txt b/proguard-project.txt deleted file mode 100644 index f2fe155..0000000 --- a/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/project.properties b/project.properties deleted file mode 100644 index 484dab0..0000000 --- a/project.properties +++ /dev/null @@ -1,15 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - -# Project target. -target=android-17 -android.library=true diff --git a/sample/.gitignore b/sample/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/sample/.gitignore @@ -0,0 +1 @@ +/build diff --git a/sample/build.gradle b/sample/build.gradle new file mode 100644 index 0000000..fd39f28 --- /dev/null +++ b/sample/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 19 + buildToolsVersion '20.0.0' + + defaultConfig { + minSdkVersion 8 + targetSdkVersion 19 + versionCode 1 + versionName "1.0" + } +} + +dependencies { + compile project(':library') +} diff --git a/sample/pom.xml b/sample/pom.xml new file mode 100644 index 0000000..7f7a6fc --- /dev/null +++ b/sample/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + sample + apk + + PLA Sample + + + com.huewu.pla + parent + 1.0.3-SNAPSHOT + + + + + com.google.android + android + + + ${project.groupId} + library + aar + ${project.version} + + + + + + + com.jayway.maven.plugins.android.generation2 + android-maven-plugin + + + + diff --git a/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml similarity index 63% rename from AndroidManifest.xml rename to sample/src/main/AndroidManifest.xml index b31b852..6877494 100644 --- a/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -1,24 +1,24 @@ - + - - - - + + - + - + - + diff --git a/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java b/sample/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java similarity index 98% rename from src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java rename to sample/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java index ab0669e..f4965fd 100644 --- a/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java +++ b/sample/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java @@ -9,7 +9,7 @@ import android.widget.ArrayAdapter; import android.widget.ListAdapter; -import com.huewu.pla.R; +import com.huewu.pla.sample.R; import com.huewu.pla.lib.internal.PLA_AdapterView; import java.util.Arrays; diff --git a/src/main/java/com/huewu/pla/sample/SampleActivity.java b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java similarity index 99% rename from src/main/java/com/huewu/pla/sample/SampleActivity.java rename to sample/src/main/java/com/huewu/pla/sample/SampleActivity.java index 24e3393..33bde9f 100644 --- a/src/main/java/com/huewu/pla/sample/SampleActivity.java +++ b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java @@ -9,7 +9,7 @@ import android.widget.ArrayAdapter; import android.widget.TextView; -import com.huewu.pla.R; +import com.huewu.pla.sample.R; import com.huewu.pla.lib.MultiColumnListView; import com.huewu.pla.lib.internal.PLA_AbsListView.LayoutParams; diff --git a/res/drawable-hdpi/ic_launcher.png b/sample/src/main/res/drawable-hdpi/ic_launcher.png similarity index 100% rename from res/drawable-hdpi/ic_launcher.png rename to sample/src/main/res/drawable-hdpi/ic_launcher.png diff --git a/res/drawable-mdpi/ic_launcher.png b/sample/src/main/res/drawable-mdpi/ic_launcher.png similarity index 100% rename from res/drawable-mdpi/ic_launcher.png rename to sample/src/main/res/drawable-mdpi/ic_launcher.png diff --git a/res/drawable-xhdpi/ic_launcher.png b/sample/src/main/res/drawable-xhdpi/ic_launcher.png similarity index 100% rename from res/drawable-xhdpi/ic_launcher.png rename to sample/src/main/res/drawable-xhdpi/ic_launcher.png diff --git a/res/layout/sample_act.xml b/sample/src/main/res/layout/sample_act.xml similarity index 100% rename from res/layout/sample_act.xml rename to sample/src/main/res/layout/sample_act.xml diff --git a/res/layout/sample_item.xml b/sample/src/main/res/layout/sample_item.xml similarity index 100% rename from res/layout/sample_item.xml rename to sample/src/main/res/layout/sample_item.xml diff --git a/res/layout/sample_pull_to_refresh_act.xml b/sample/src/main/res/layout/sample_pull_to_refresh_act.xml similarity index 100% rename from res/layout/sample_pull_to_refresh_act.xml rename to sample/src/main/res/layout/sample_pull_to_refresh_act.xml diff --git a/res/values-v11/styles.xml b/sample/src/main/res/values-v11/styles.xml similarity index 100% rename from res/values-v11/styles.xml rename to sample/src/main/res/values-v11/styles.xml diff --git a/res/values-v14/styles.xml b/sample/src/main/res/values-v14/styles.xml similarity index 100% rename from res/values-v14/styles.xml rename to sample/src/main/res/values-v14/styles.xml diff --git a/sample/src/main/res/values/ids.xml b/sample/src/main/res/values/ids.xml new file mode 100644 index 0000000..a17848e --- /dev/null +++ b/sample/src/main/res/values/ids.xml @@ -0,0 +1,6 @@ + + + + diff --git a/sample/src/main/res/values/strings.xml b/sample/src/main/res/values/strings.xml new file mode 100644 index 0000000..dcabfb3 --- /dev/null +++ b/sample/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + PLASample + diff --git a/res/values/styles.xml b/sample/src/main/res/values/styles.xml similarity index 100% rename from res/values/styles.xml rename to sample/src/main/res/values/styles.xml diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..c504e93 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,2 @@ +include ':sample' +include ':library' From 3b2d781924e43e060ad998293170627752a2c9cd Mon Sep 17 00:00:00 2001 From: juyeong Date: Tue, 15 Jul 2014 17:36:44 +0900 Subject: [PATCH 08/32] Save and restore view instance state --- .../huewu/pla/lib/MultiColumnListView.java | 97 +++++++-- .../pla/lib/ParcelableSparseIntArray.java | 55 +++++ .../pla/lib/internal/PLA_AbsListView.java | 190 ++++++++++++++++-- .../huewu/pla/lib/internal/PLA_ListView.java | 52 ++--- 4 files changed, 324 insertions(+), 70 deletions(-) create mode 100644 library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java diff --git a/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java b/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java index f216b7e..6285f96 100644 --- a/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java +++ b/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java @@ -19,8 +19,9 @@ import android.content.Context; import android.content.res.TypedArray; import android.graphics.Rect; +import android.os.Parcel; +import android.os.Parcelable; import android.util.AttributeSet; -import android.util.SparseIntArray; import android.view.View; import com.huewu.pla.R; @@ -40,8 +41,8 @@ public class MultiColumnListView extends PLA_ListView { private int mColumnNumber = 2; private Column[] mColumns = null; private Column mFixedColumn = null; //column for footers & headers. - private SparseIntArray mItems = new SparseIntArray(); - + private ParcelableSparseIntArray mItems = new ParcelableSparseIntArray(); + private int mColumnPaddingLeft = 0; private int mColumnPaddingRight = 0; @@ -80,7 +81,7 @@ private void init(AttributeSet attrs) { }else{ mColumnNumber = DEFAULT_COLUMN_NUMBER; } - + mColumnPaddingLeft = a.getDimensionPixelSize(R.styleable.MultiColumnListView_plaColumnPaddingLeft, 0); mColumnPaddingRight = a.getDimensionPixelSize(R.styleable.MultiColumnListView_plaColumnPaddingRight, 0); a.recycle(); @@ -133,7 +134,7 @@ protected int modifyFlingInitialVelocity(int initialVelocity) { @Override protected void onItemAddedToList(int position, boolean flow ) { super.onItemAddedToList(position, flow); - + if( isHeaderOrFooterPosition(position) == false){ Column col = getNextColumn( flow, position ); mItems.append(position, col.getIndex()); @@ -156,9 +157,9 @@ protected void onLayoutSyncFinished(int syncPos) { @Override protected void onAdjustChildViews(boolean down) { - + int firstItem = getFirstVisiblePosition(); - if( down == false && firstItem == 0){ + if(!down && firstItem == 0){ final int firstColumnTop = mColumns[0].getTop(); for( Column c : mColumns ){ final int top = c.getTop(); @@ -184,11 +185,11 @@ protected int getFillChildBottom() { @Override protected int getFillChildTop() { //find largest column. - int result = Integer.MIN_VALUE; - for(Column c : mColumns){ - int top = c.getTop(); - result = result < top ? top : result; - } + int result = Integer.MIN_VALUE; + for(Column c : mColumns){ + int top = c.getTop(); + result = Math.max(result, top); + } return result; } @@ -217,10 +218,10 @@ protected int getScrollChildTop() { @Override protected int getItemLeft(int pos) { - + if( isHeaderOrFooterPosition(pos) ) return mFixedColumn.getColumnLeft(); - + return getColumnLeft(pos); } @@ -262,7 +263,7 @@ private Column getNextColumn(boolean flow, int position) { if( colIndex != -1 ){ return mColumns[colIndex]; } - + //adjust position (exclude headers...) position = Math.max(0, position - getHeaderViewsCount()); @@ -299,7 +300,7 @@ private Column gettBottomColumn() { } return result; - } + } private int getColumnLeft(int pos) { int colIndex = mItems.get(pos, -1); @@ -369,7 +370,7 @@ public int getBottom() { public void offsetTopAndBottom(int offset) { if( offset == 0 ) - return; + return; //find biggest value. int childCount = getChildCount(); @@ -390,10 +391,10 @@ public int getTop() { int childCount = getChildCount(); for( int index = 0; index < childCount; ++index ){ View v = getChildAt(index); - if(v.getLeft() != mColumnLeft && isFixedView(v) == false ) - continue; - top = top > v.getTop() ? v.getTop() : top; - } + if(v.getLeft() != mColumnLeft && !isFixedView(v)) + continue; + top = Math.min(top, v.getTop()); + } if( top == Integer.MAX_VALUE ) return mSynchedTop; //no child for this column. just return saved sync top.. @@ -402,7 +403,7 @@ public int getTop() { public void save() { mSynchedTop = 0; - mSynchedBottom = getTop(); //getBottom(); + mSynchedBottom = getTop(); } public void clear() { @@ -429,4 +430,56 @@ public int getTop() { }//end of class + + static class SavedState extends BaseSavedState { + ParcelableSparseIntArray items; + + /** + * Constructor called from {@link MultiColumnListView#onSaveInstanceState()} + */ + SavedState(Parcelable superState) { + super(superState); + } + + /** + * Constructor called from {@link #CREATOR} + */ + private SavedState(Parcel in) { + super(in); + items = in.readParcelable(ClassLoader.getSystemClassLoader()); + } + + @Override + public void writeToParcel(Parcel out, int flags) { + super.writeToParcel(out, flags); + out.writeParcelable(items, flags); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + @Override + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } + + @Override + public Parcelable onSaveInstanceState() { + Parcelable superState = super.onSaveInstanceState(); + SavedState ss = new SavedState(superState); + ss.items = mItems; + return ss; + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + SavedState ss = (SavedState) state; + super.onRestoreInstanceState(ss.getSuperState()); + mItems = ss.items; + } }//end of class diff --git a/library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java b/library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java new file mode 100644 index 0000000..b66882c --- /dev/null +++ b/library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java @@ -0,0 +1,55 @@ +package com.huewu.pla.lib; + +import android.os.Parcel; +import android.os.Parcelable; +import android.util.SparseArray; +import android.util.SparseIntArray; + +/** + * Created by juyeong on 7/15/14. + */ +public class ParcelableSparseIntArray extends SparseIntArray implements Parcelable { + + public ParcelableSparseIntArray() { + } + + public ParcelableSparseIntArray(int initialCapacity) { + super(initialCapacity); + } + + private ParcelableSparseIntArray(Parcel in) { + append(in.readSparseArray (ClassLoader.getSystemClassLoader())); + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel dest, int flags) { + dest.writeSparseArray(toSparseArray()); + } + + private SparseArray toSparseArray() { + SparseArray sparseArray = new SparseArray(); + for (int i = 0, size = size(); i < size; i++) + sparseArray.append(keyAt(i), valueAt(i)); + return sparseArray; + } + + private void append(SparseArray sparseArray) { + for (int i = 0, size = sparseArray.size(); i < size; i++) + put(sparseArray.keyAt(i), sparseArray.valueAt(i)); + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + public ParcelableSparseIntArray createFromParcel(Parcel source) { + return new ParcelableSparseIntArray(source); + } + + public ParcelableSparseIntArray[] newArray(int size) { + return new ParcelableSparseIntArray[size]; + } + }; +} diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java index a2eb25e..63c8b62 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java @@ -23,6 +23,7 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.TransitionDrawable; import android.os.Debug; +import android.os.Parcel; import android.os.Parcelable; import android.util.AttributeSet; import android.view.ContextMenu.ContextMenuInfo; @@ -34,6 +35,8 @@ import android.view.ViewDebug; import android.view.ViewGroup; import android.view.ViewTreeObserver; +import android.widget.Filter; +import android.widget.Filterable; import android.widget.ListAdapter; import android.widget.Scroller; @@ -304,6 +307,8 @@ public abstract class PLA_AbsListView extends PLA_AdapterView imple */ boolean mScrollingCacheEnabled; + private SavedState mPendingSync; + /** * Optional callback to notify client when scroll position has changed */ @@ -643,16 +648,6 @@ void requestLayoutIfNecessary() { } } - @Override - public void onRestoreInstanceState(Parcelable state) { - super.onRestoreInstanceState(state); - - DebugUtil.LogDebug("data changed by onRestoreInstanceState()"); - - mDataChanged = true; - requestLayout(); - } - @Override public void requestLayout() { if (!mBlockLayoutRequests && !mInLayout) { @@ -2451,14 +2446,51 @@ protected void handleDataChanged() { if (mNeedSync) { // Update this first, since setNextSelectedPositionInt inspects it mNeedSync = false; + mPendingSync = null; + if (mTranscriptMode == TRANSCRIPT_MODE_ALWAYS_SCROLL || (mTranscriptMode == TRANSCRIPT_MODE_NORMAL && - mFirstPosition + getChildCount() >= mOldItemCount)) { + mFirstPosition + getChildCount() >= mOldItemCount)) { mLayoutMode = LAYOUT_FORCE_BOTTOM; return; } switch (mSyncMode) { + case SYNC_SELECTED_POSITION: + if (isInTouchMode()) { + // We saved our state when not in touch mode. (We know this because + // mSyncMode is SYNC_SELECTED_POSITION.) Now we are trying to + // restore in touch mode. Just leave mSyncPosition as it is (possibly + // adjusting if the available range changed) and return. + mLayoutMode = LAYOUT_SYNC; + mSyncPosition = Math.min(Math.max(0, mSyncPosition), count - 1); + + return; + } else { + // See if we can find a position in the new data with the same + // id as the old selection. This will change mSyncPosition. + newPos = findSyncPosition(); + if (newPos >= 0) { + // Found it. Now verify that new selection is still selectable + selectablePos = lookForSelectablePosition(newPos, true); + if (selectablePos == newPos) { + // Same row id is selected + mSyncPosition = newPos; + + if (mSyncHeight == getHeight()) { + // If we are at the same height as when we saved state, try + // to restore the scroll position too. + mLayoutMode = LAYOUT_SYNC; + } else { + // We are not the same height as when the selection was saved, so + // don't try to restore the exact position + mLayoutMode = LAYOUT_SET_SELECTION; + } + return; + } + } + } + break; case SYNC_FIRST_POSITION: // Leave mSyncPosition as it is -- just pin to available range mLayoutMode = LAYOUT_SYNC; @@ -2482,10 +2514,14 @@ protected void handleDataChanged() { // Make sure we select something selectable -- first look down selectablePos = lookForSelectablePosition(newPos, true); - // Looking down didn't work -- try looking up - selectablePos = lookForSelectablePosition(newPos, false); if (selectablePos >= 0) { return; + } else { + // Looking down didn't work -- try looking up + selectablePos = lookForSelectablePosition(newPos, false); + if (selectablePos >= 0) { + return; + } } } else { @@ -2499,7 +2535,11 @@ protected void handleDataChanged() { // Nothing is selected. Give up and reset everything. mLayoutMode = mStackFromBottom ? LAYOUT_FORCE_BOTTOM : LAYOUT_FORCE_TOP; + mSelectedPosition = INVALID_POSITION; + mSelectedRowId = INVALID_ROW_ID; mNeedSync = false; + mPendingSync = null; + checkSelectionChanged(); } /** @@ -2731,9 +2771,7 @@ public void reclaimViews(List views) { * associated to the View. * * @param listener The recycler listener to be notified of views set aside - * in the recycler. - * - * @see android.widget.PLA_AbsListView.RecycleBin + * in the recycler. * @see android.widget.AbsListView.RecyclerListener */ public void setRecyclerListener(RecyclerListener listener) { @@ -2800,7 +2838,6 @@ public LayoutParams(ViewGroup.LayoutParams source) { * inside the RecycleBin's scrap heap. This listener is used to free resources * associated to Views placed in the RecycleBin. * - * @see android.widget.PLA_AbsListView.RecycleBin * @see android.widget.AbsListView#setRecyclerListener(android.widget.AbsListView.RecyclerListener) */ public static interface RecyclerListener { @@ -3227,4 +3264,123 @@ protected int getScrollChildBottom() { return 0; return getChildAt(count - 1).getBottom(); } + + + static class SavedState extends BaseSavedState { + long firstId; + int viewTop; + int position; + int height; + + /** + * Constructor called from {@link PLA_AbsListView#onSaveInstanceState()} + */ + SavedState(Parcelable superState) { + super(superState); + } + + /** + * Constructor called from {@link #CREATOR} + */ + private SavedState(Parcel in) { + super(in); + firstId = in.readLong(); + viewTop = in.readInt(); + position = in.readInt(); + height = in.readInt(); + } + + @Override + public void writeToParcel(Parcel out, int flags) { + super.writeToParcel(out, flags); + out.writeLong(firstId); + out.writeInt(viewTop); + out.writeInt(position); + out.writeInt(height); + } + + @Override + public String toString() { + return "AbsListView.SavedState{" + + Integer.toHexString(System.identityHashCode(this)) + + " firstId=" + firstId + + " viewTop=" + viewTop + + " position=" + position + + " height=" + height + "}"; + } + + public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + @Override + public SavedState createFromParcel(Parcel in) { + return new SavedState(in); + } + + @Override + public SavedState[] newArray(int size) { + return new SavedState[size]; + } + }; + } + + @Override + public Parcelable onSaveInstanceState() { + Parcelable superState = super.onSaveInstanceState(); + + SavedState ss = new SavedState(superState); + + if (mPendingSync != null) { + // Just keep what we last restored. + ss.firstId = mPendingSync.firstId; + ss.viewTop = mPendingSync.viewTop; + ss.position = mPendingSync.position; + ss.height = mPendingSync.height; + return ss; + } + + boolean haveChildren = getChildCount() > 0 && mItemCount > 0; + if (haveChildren && mFirstPosition > 0) { + // Remember the position of the first child. + // We only do this if we are not currently at the top of + // the list, for two reasons: + // (1) The list may be in the process of becoming empty, in + // which case mItemCount may not be 0, but if we try to + // ask for any information about position 0 we will crash. + // (2) Being "at the top" seems like a special case, anyway, + // and the user wouldn't expect to end up somewhere else when + // they revisit the list even if its content has changed. + View v = getChildAt(0); + ss.viewTop = v.getTop(); + int firstPos = mFirstPosition; + if (firstPos >= mItemCount) { + firstPos = mItemCount - 1; + } + ss.position = firstPos; + ss.firstId = mAdapter.getItemId(firstPos); + } else { + ss.viewTop = 0; + ss.firstId = INVALID_POSITION; + ss.position = 0; + } + return ss; + } + + @Override + public void onRestoreInstanceState(Parcelable state) { + SavedState ss = (SavedState) state; + + DebugUtil.LogDebug("data changed by onRestoreInstanceState()"); + super.onRestoreInstanceState(ss.getSuperState()); + mDataChanged = true; + + mSyncHeight = ss.height; + + if (ss.firstId >= 0) { + mNeedSync = true; + mPendingSync = ss; + mSyncRowId = ss.firstId; + mSyncPosition = ss.position; + mSpecificTop = ss.viewTop; + } + requestLayout(); + } }//end of class diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java index 2d3e86f..efa3bfb 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java @@ -646,12 +646,11 @@ protected int getItemBottom(int pos) { protected void fillGap(boolean down) { final int count = getChildCount(); if (down) { - fillDown(mFirstPosition + count, getItemTop(mFirstPosition + count)); - onAdjustChildViews( down ); + fillDown(mFirstPosition + count, getFillChildBottom() + mDividerHeight); } else { - fillUp(mFirstPosition - 1, getItemBottom(mFirstPosition - 1)); - onAdjustChildViews( down ); + fillUp(mFirstPosition - 1, getFillChildTop()); } + onAdjustChildViews(down); } /** @@ -665,21 +664,16 @@ protected void fillGap(boolean down) { * @return The view that is currently selected, if it happens to be in the * range that we draw. */ - private View fillDown(int pos, int top) { - + private View fillDown(int pos, int nextTop) { DebugUtil.i("fill down: " + pos); - //int end = (mBottom - mTop) - mListPadding.bottom; - int end = (getBottom() - getTop()) - mListPadding.bottom; - int childTop = getFillChildBottom() + mDividerHeight; - - while (childTop < end && pos < mItemCount) { + int end = getBottom() - getTop() - mListPadding.bottom; + while (nextTop < end && pos < mItemCount) { // is this the selected item? makeAndAddView(pos, getItemTop(pos), true, false); pos++; - childTop = getFillChildBottom() + mDividerHeight; + nextTop = getFillChildBottom() + mDividerHeight; } - return null; } @@ -693,22 +687,20 @@ private View fillDown(int pos, int top) { * * @return The view that is currently selected */ - private View fillUp(int pos, int bottom) { + private View fillUp(int pos, int nextBottom) { DebugUtil.i("fill up: " + pos); int end = mListPadding.top; - int childBottom = getFillChildTop(); - while (childBottom > end && pos >= 0) { + while (nextBottom > end && pos >= 0) { // is this the selected item? makeAndAddView(pos, getItemBottom(pos), false, false); // nextBottom = child.getTop() - mDividerHeight; pos--; - childBottom = getItemBottom(pos); + nextBottom = getItemBottom(pos); } mFirstPosition = pos + 1; - return null; } @@ -939,16 +931,15 @@ private View fillSpecific(int position, int top) { DebugUtil.i("fill specific: " + position + ":" + top); View temp = makeAndAddView(position, top, true, false); - // Possibly changed again in fillUp if we add rows above this one. - mFirstPosition = position; + final int dividerHeight = mDividerHeight; if (!mStackFromBottom) { - fillUp(position - 1, temp.getTop() - dividerHeight); + fillUp(position - 1, getFillChildTop()); // This will correct for the top of the first view not touching the top of the list adjustViewsUpOrDown(); - fillDown(position + 1, temp.getBottom() + dividerHeight); + fillDown(position + 1, getFillChildBottom() + mDividerHeight); int childCount = getChildCount(); if (childCount > 0) { correctTooHigh(childCount); @@ -957,7 +948,7 @@ private View fillSpecific(int position, int top) { fillDown(position + 1, temp.getBottom() + dividerHeight); // This will correct for the bottom of the last view not touching the bottom of the list adjustViewsUpOrDown(); - fillUp(position - 1, temp.getTop() - dividerHeight); + fillUp(position - 1, getFillChildTop()); int childCount = getChildCount(); if (childCount > 0) { correctTooLow(childCount); @@ -1000,7 +991,7 @@ private void correctTooHigh(int childCount) { // Make sure we are 1) Too high, and 2) Either there are more rows above the // first row or the first row is scrolled off the top of the drawable area - if (bottomOffset > 0 && (mFirstPosition > 0 || firstTop < mListPadding.top)) { + if (bottomOffset > 0 && (mFirstPosition > 0 || firstTop < mListPadding.top)) { if (mFirstPosition == 0) { // Don't pull the top too far down bottomOffset = Math.min(bottomOffset, mListPadding.top - firstTop); @@ -1012,7 +1003,7 @@ private void correctTooHigh(int childCount) { // Fill the gap that was opened above mFirstPosition with more rows, if // possible int newFirstTop = getScrollChildTop(); - fillUp(mFirstPosition - 1, newFirstTop - mDividerHeight); + fillUp(mFirstPosition - 1, getFillChildTop()); // Close up the remaining gap adjustViewsUpOrDown(); } @@ -1040,7 +1031,7 @@ private void correctTooLow(int childCount) { final int start = mListPadding.top; // This is bottom of our drawable area - final int end = (getBottom() -getTop()) - mListPadding.bottom; + final int end = (getBottom() - getTop()) - mListPadding.bottom; // This is how far the top edge of the first view is from the top of the drawable area int topOffset = firstTop - start; @@ -1051,7 +1042,7 @@ private void correctTooLow(int childCount) { // Make sure we are 1) Too low, and 2) Either there are more rows below the // last row or the last row is scrolled off the bottom of the drawable area if (topOffset > 0) { - if (lastPosition < mItemCount - 1 || lastBottom > end) { + if (lastPosition < mItemCount - 1 || lastBottom > end) { if (lastPosition == mItemCount - 1) { // Don't pull the bottom too far up topOffset = Math.min(topOffset, lastBottom - end); @@ -1061,7 +1052,7 @@ private void correctTooLow(int childCount) { if (lastPosition < mItemCount - 1) { // Fill the gap that was opened below the last position with more rows, if // possible - fillDown(lastPosition + 1, getFillChildTop() + mDividerHeight); + fillDown(lastPosition + 1, getFillChildBottom() + mDividerHeight); // Close up the remaining gap adjustViewsUpOrDown(); } @@ -1090,9 +1081,8 @@ protected void layoutChildren() { return; } - int childrenTop = mListPadding.top; - //int childrenBottom = mBottom - mTop - mListPadding.bottom; - int childrenBottom = getBottom() - getTop() - mListPadding.bottom; + int childrenTop = getFillChildBottom() + mDividerHeight; + int childrenBottom = getFillChildTop(); int childCount = getChildCount(); int index = 0; From 00569420eca2cea2fb54c386907efeb3f5850ba2 Mon Sep 17 00:00:00 2001 From: juyeong Date: Tue, 15 Jul 2014 17:37:47 +0900 Subject: [PATCH 09/32] Delete PullToRefresh ListView --- .../lib/MultiColumnPullToRefreshListView.java | 783 ------------------ sample/build.gradle | 1 + sample/src/main/AndroidManifest.xml | 2 - .../sample/PullToRefreshSampleActivity.java | 105 --- .../com/huewu/pla/sample/SampleActivity.java | 263 +++--- .../main/res/drawable-mdpi/ic_launcher.png | Bin 987 -> 0 bytes sample/src/main/res/layout/sample_act.xml | 19 +- sample/src/main/res/layout/sample_frag.xml | 15 + .../res/layout/sample_pull_to_refresh_act.xml | 11 - sample/src/main/res/values-v11/styles.xml | 5 - sample/src/main/res/values-v14/styles.xml | 5 - sample/src/main/res/values/styles.xml | 7 +- 12 files changed, 174 insertions(+), 1042 deletions(-) delete mode 100644 library/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java delete mode 100644 sample/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java delete mode 100644 sample/src/main/res/drawable-mdpi/ic_launcher.png create mode 100644 sample/src/main/res/layout/sample_frag.xml delete mode 100644 sample/src/main/res/layout/sample_pull_to_refresh_act.xml delete mode 100644 sample/src/main/res/values-v11/styles.xml delete mode 100644 sample/src/main/res/values-v14/styles.xml diff --git a/library/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java b/library/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java deleted file mode 100644 index f44edca..0000000 --- a/library/src/main/java/com/huewu/pla/lib/MultiColumnPullToRefreshListView.java +++ /dev/null @@ -1,783 +0,0 @@ - -package com.huewu.pla.lib; - -import android.content.Context; -import android.content.res.Resources; -import android.content.res.TypedArray; -import android.graphics.Typeface; -import android.os.Handler; -import android.os.Message; -import android.util.AttributeSet; -import android.util.DisplayMetrics; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewTreeObserver; -import android.view.ViewTreeObserver.OnGlobalLayoutListener; -import android.view.animation.Animation; -import android.view.animation.Animation.AnimationListener; -import android.view.animation.LinearInterpolator; -import android.view.animation.RotateAnimation; -import android.view.animation.TranslateAnimation; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.ProgressBar; -import android.widget.RelativeLayout; -import android.widget.TextView; - -import com.huewu.pla.R; - -import java.lang.ref.WeakReference; -import java.text.SimpleDateFormat; -import java.util.Date; - -/** - * A generic, customizable Android ListView implementation that has 'Pull to - * Refresh' functionality. - *

- * This ListView can be used in place of the normal Android - * android.widget.ListView class. - *

- * Users of this class should implement OnRefreshListener and call - * setOnRefreshListener(..) to get notified on refresh events. The using class - * should call onRefreshComplete() when refreshing is finished. - *

- * The using class can call setRefreshing() to set the state explicitly to - * refreshing. This is useful when you want to show the spinner and 'Refreshing' - * text when the refresh was not triggered by 'Pull to Refresh', for example on - * start. - *

- * For more information, visit the project page: - * https://github.com/erikwt/PullToRefresh-ListView - * - * @author Erik Wallentinsen - * @version 1.0.0 - */ -public class MultiColumnPullToRefreshListView extends MultiColumnListView { - - private static final float PULL_RESISTANCE = 3.0f; - private static final int BOUNCE_ANIMATION_DURATION = 215; - private static final int BOUNCE_ANIMATION_DELAY = 20; - private static final int ROTATE_ARROW_ANIMATION_DURATION = 250; - - // Loading... - private LoadingThread mLoadingThread = null; - final static int LOADINGBUFFER = 400; - final static int LOADINGZERO = 100; - final static int LOADINGONE = 101; - final static int LOADINGTWO = 102; - final static int LOADINGTHREE = 103; - - private static enum State { - PULL_TO_REFRESH, - RELEASE_TO_REFRESH, - REFRESHING - } - - /** - * Interface to implement when you want to get notified of 'pull to refresh' - * events. Call setOnRefreshListener(..) to activate an OnRefreshListener. - */ - public interface OnRefreshListener { - - /** - * Method to be called when a refresh is requested - */ - public void onRefresh(); - } - - private static int measuredHeaderHeight; - - private boolean scrollbarEnabled; - private boolean bounceBackHeader; - private boolean lockScrollWhileRefreshing; - private boolean showLastUpdatedText; - private String pullToRefreshText; - private String releaseToRefreshText; - private String refreshingText; - private String lastUpdatedText; - private SimpleDateFormat lastUpdatedDateFormat = new SimpleDateFormat("dd/MM HH:mm"); - - private float previousY; - private int headerPadding; - private boolean hasResetHeader; - private long lastUpdated = -1; - private State state; - private LinearLayout headerContainer; - private RelativeLayout header; - private RotateAnimation flipAnimation; - private RotateAnimation reverseFlipAnimation; - private ImageView image; - private ProgressBar spinner; - private TextView text; - // private TextView loadingText; - private TextView lastUpdatedTextView; - private OnRefreshListener onRefreshListener; - private TranslateAnimation bounceAnimation; - - private boolean isHeaderRefreshing = false; - private boolean isHeaderShowing = false; - - public MultiColumnPullToRefreshListView(Context context) { - super(context); - init(context, null); - } - - public MultiColumnPullToRefreshListView(Context context, AttributeSet attrs) { - super(context, attrs); - init(context, attrs); - } - - public MultiColumnPullToRefreshListView(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - init(context, attrs); - } - - /** - * Activate an OnRefreshListener to get notified on 'pull to refresh' - * events. - * - * @param onRefreshListener The OnRefreshListener to get notified - */ - public void setOnRefreshListener(OnRefreshListener onRefreshListener) { - this.onRefreshListener = onRefreshListener; - } - - /** - * @return If the list is in 'Refreshing' state - */ - public boolean isRefreshing() { - return state == State.REFRESHING; - } - - /** - * Default is false. When lockScrollWhileRefreshing is set to true, the list - * cannot scroll when in 'refreshing' mode. It's 'locked' on refreshing. - * - * @param lockScrollWhileRefreshing - */ - public void setLockScrollWhileRefreshing(boolean lockScrollWhileRefreshing) { - this.lockScrollWhileRefreshing = lockScrollWhileRefreshing; - } - - /** - * Default is false. Show the last-updated date/time in the 'Pull ro - * Refresh' header. See 'setLastUpdatedDateFormat' to set the date/time - * formatting. - * - * @param showLastUpdatedText - */ - public void setShowLastUpdatedText(boolean showLastUpdatedText) { - this.showLastUpdatedText = showLastUpdatedText; - if (!showLastUpdatedText) - lastUpdatedTextView.setVisibility(View.GONE); - } - - /** - * Default: "dd/MM HH:mm". Set the format in which the last-updated - * date/time is shown. Meaningless if 'showLastUpdatedText == false - * (default)'. See 'setShowLastUpdatedText'. - * - * @param lastUpdatedDateFormat - */ - public void setLastUpdatedDateFormat(SimpleDateFormat lastUpdatedDateFormat) { - this.lastUpdatedDateFormat = lastUpdatedDateFormat; - } - - /** - * Explicitly set the state to refreshing. This is useful when you want to - * show the spinner and 'Refreshing' text when the refresh was not triggered - * by 'pull to refresh', for example on start. - */ - public void setRefreshing() { - state = State.REFRESHING; - setUiRefreshing(); - // setHeaderPadding(0); - // scrollTo(0, 0); - } - - /** - * Set the state back to 'pull to refresh'. Call this method when refreshing - * the data is finished. - */ - public void onRefreshComplete() { - state = State.PULL_TO_REFRESH; - resetHeader(); - lastUpdated = System.currentTimeMillis(); - } - - /** - * Change the label text on state 'Pull to Refresh' - * - * @param pullToRefreshText Text - */ - public void setTextPullToRefresh(String pullToRefreshText) { - this.pullToRefreshText = pullToRefreshText; - if (state == State.PULL_TO_REFRESH) { - text.setText(pullToRefreshText); - image.setVisibility(VISIBLE); - if (mLoadingThread != null) { - mLoadingThread.interrupt(); - mLoadingThread = null; - } - isHeaderRefreshing = false; - // loadingText.setVisibility(View.GONE); - } - } - - /** - * Change the label text on state 'Release to Refresh' - * - * @param releaseToRefreshText Text - */ - public void setTextReleaseToRefresh(String releaseToRefreshText) { - this.releaseToRefreshText = releaseToRefreshText; - if (state == State.RELEASE_TO_REFRESH) { - text.setText(releaseToRefreshText); - image.setVisibility(VISIBLE); - if (mLoadingThread != null) { - mLoadingThread.interrupt(); - mLoadingThread = null; - } - isHeaderRefreshing = false; - // loadingText.setVisibility(View.GONE); - } - } - - /** - * Change the label text on state 'Refreshing' - * - * @param refreshingText Text - */ - public void setTextRefreshing(String refreshingText) { - this.refreshingText = refreshingText; - if (state == State.REFRESHING) { - text.setText(refreshingText); - image.setVisibility(INVISIBLE); - mLoadingThread = new LoadingThread(mLoadingHandler); - mLoadingThread.start(); - isHeaderRefreshing = true; - // loadingText.setVisibility(View.VISIBLE); - } - } - - public static float getDimensionDpSize(int id, Context context, AttributeSet attrs) { - TypedArray typedArray = context - .obtainStyledAttributes(attrs, R.styleable.PullToRefreshView); - Resources resources = context.getResources(); - DisplayMetrics metrics = resources.getDisplayMetrics(); - float dp = typedArray.getDimension(id, -1) / (metrics.densityDpi / 160f); - return dp; - } - - private void init(Context context, AttributeSet attrs) { - setVerticalFadingEdgeEnabled(false); - - headerContainer = (LinearLayout) LayoutInflater.from(getContext()).inflate( - R.layout.pull_to_refresh_header, null); - header = (RelativeLayout) headerContainer.findViewById(R.id.ptr_id_header); - text = (TextView) header.findViewById(R.id.ptr_id_text); - // loadingText = (TextView) - // header.findViewById(R.id.ptr_id_loading_text); - lastUpdatedTextView = (TextView) header.findViewById(R.id.ptr_id_last_updated); - image = (ImageView) header.findViewById(R.id.ptr_id_arrow); - spinner = (ProgressBar) header.findViewById(R.id.ptr_id_spinner); - - if (attrs == null) { - text.setTextSize(15); - // loadingText.setTextSize(15); - // loadingText.setLayoutParams(new - // android.view.ViewGroup.LayoutParams( - // (int) - // getDimensionDpSize(R.styleable.PullToRefreshView_ptrTextSize, - // context, - // attrs), android.view.ViewGroup.LayoutParams.MATCH_PARENT)); - lastUpdatedTextView.setTextSize(12); - image.setPadding(0, 0, 5, 0); - spinner.setPadding(0, 0, 5, 0); - } else { - text.setTextSize(getDimensionDpSize(R.styleable.PullToRefreshView_ptrTextSize, context, - attrs)); - // loadingText.setTextSize(getDimensionDpSize(R.styleable.PullToRefreshView_ptrTextSize, - // context, attrs)); - // loadingText.setLayoutParams(new - // android.view.ViewGroup.LayoutParams( - // (int) - // getDimensionDpSize(R.styleable.PullToRefreshView_ptrTextSize, - // context, - // attrs), android.view.ViewGroup.LayoutParams.MATCH_PARENT)); - lastUpdatedTextView.setTextSize(getDimensionDpSize( - R.styleable.PullToRefreshView_ptrLastUpdateTextSize, context, attrs)); - image.setPadding( - 0, - 0, - (int) getDimensionDpSize(R.styleable.PullToRefreshView_ptrArrowMarginRight, - context, attrs), 0); - spinner.setPadding( - 0, - 0, - (int) getDimensionDpSize(R.styleable.PullToRefreshView_ptrSpinnerMarginRight, - context, attrs), 0); - } - - TextView tv = new TextView(context); - tv.setText("Loading"); - tv.setTypeface(Typeface.DEFAULT_BOLD); - tv.setTextSize(getDimensionDpSize(R.styleable.PullToRefreshView_ptrTextSize, context, attrs)); - - pullToRefreshText = getContext().getString(R.string.ptr_pull_to_refresh); - releaseToRefreshText = getContext().getString(R.string.ptr_release_to_refresh); - refreshingText = getContext().getString(R.string.ptr_loading); - lastUpdatedText = getContext().getString(R.string.ptr_last_updated); - - flipAnimation = new RotateAnimation(0, -180, RotateAnimation.RELATIVE_TO_SELF, 0.5f, - RotateAnimation.RELATIVE_TO_SELF, 0.5f); - flipAnimation.setInterpolator(new LinearInterpolator()); - flipAnimation.setDuration(ROTATE_ARROW_ANIMATION_DURATION); - flipAnimation.setFillAfter(true); - - reverseFlipAnimation = new RotateAnimation(-180, 0, RotateAnimation.RELATIVE_TO_SELF, 0.5f, - RotateAnimation.RELATIVE_TO_SELF, 0.5f); - reverseFlipAnimation.setInterpolator(new LinearInterpolator()); - reverseFlipAnimation.setDuration(ROTATE_ARROW_ANIMATION_DURATION); - reverseFlipAnimation.setFillAfter(true); - - addHeaderView(headerContainer); - setState(State.PULL_TO_REFRESH); - scrollbarEnabled = isVerticalScrollBarEnabled(); - - ViewTreeObserver vto = header.getViewTreeObserver(); - vto.addOnGlobalLayoutListener(new PTROnGlobalLayoutListener()); - - // super.setOnItemClickListener(new PTROnItemClickListener()); - // super.setOnItemLongClickListener(new PTROnItemLongClickListener()); - } - - private void setHeaderPadding(int padding) { - headerPadding = padding; - - ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) header.getLayoutParams(); - mlp.setMargins(0, Math.round(padding), 0, 0); - header.setLayoutParams(mlp); - } - - private boolean isPulling = false; - - private boolean isPull(MotionEvent event) { - return isPulling; - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent event) { - // Log.i("Vingle", "interceptEvent x : " + event.getX() + ", y : " + - // event.getY()); - // MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) - // header.getLayoutParams(); - // Log.i("Vingle", "interceptEvent hx : " + mlp.topMargin); - // Log.i("Vingle", "isHeaderRefresing : " + isHeaderRefreshing); - - if (isHeaderRefreshing && isHeaderShowing) { - - } - - if (lockScrollWhileRefreshing - && (state == State.REFRESHING || getAnimation() != null - && !getAnimation().hasEnded())) { - return true; // consume touch event here.. - } - - switch (event.getAction()) { - case MotionEvent.ACTION_DOWN: - if (getFirstVisiblePosition() == 0) - previousY = event.getY(); - break; - case MotionEvent.ACTION_MOVE: - if (getFirstVisiblePosition() == 0 && event.getY() - previousY > 0) { - isPulling = true; - return true; - } else { - isPulling = false; - } - break; - case MotionEvent.ACTION_CANCEL: - case MotionEvent.ACTION_UP: - isPulling = false; - break; - } - - return super.onInterceptTouchEvent(event); - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - // Log.i("Vingle", "Event x : " + event.getX() + ", y : " + - // event.getY()); - // MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) - // header.getLayoutParams(); - // Log.i("Vingle", "Event hx : " + mlp.topMargin); - // Log.i("Vingle", "isHeaderRefresing : " + isHeaderRefreshing); - - if (isHeaderRefreshing && isHeaderShowing) { - - } - - if (lockScrollWhileRefreshing - && (state == State.REFRESHING || getAnimation() != null - && !getAnimation().hasEnded())) { - return true; - } - - switch (event.getAction()) { - - case MotionEvent.ACTION_UP: - if (isPull(event) - && (state == State.RELEASE_TO_REFRESH || getFirstVisiblePosition() == 0)) { - switch (state) { - case RELEASE_TO_REFRESH: - setState(State.REFRESHING); - bounceBackHeader(); - break; - case PULL_TO_REFRESH: - resetHeader(); - break; - default: - break; - } - } - break; - - case MotionEvent.ACTION_MOVE: - if (isPull(event)) { - float y = event.getY(); - float diff = y - previousY; - if (diff > 0) - diff /= PULL_RESISTANCE; - previousY = y; - - int newHeaderPadding = Math.max(Math.round(headerPadding + diff), - -header.getHeight()); - - if (newHeaderPadding != headerPadding && state != State.REFRESHING) { - setHeaderPadding(newHeaderPadding); - - if (state == State.PULL_TO_REFRESH && headerPadding > 0) { - setState(State.RELEASE_TO_REFRESH); - - image.clearAnimation(); - image.startAnimation(flipAnimation); - } else if (state == State.RELEASE_TO_REFRESH && headerPadding < 0) { - setState(State.PULL_TO_REFRESH); - - image.clearAnimation(); - image.startAnimation(reverseFlipAnimation); - } - } - } - - break; - } - - return super.onTouchEvent(event); - } - - private void bounceBackHeader() { - int yTranslate = state == State.REFRESHING ? - header.getHeight() - headerContainer.getHeight() : - -headerContainer.getHeight() - headerContainer.getTop(); - - bounceAnimation = new TranslateAnimation( - TranslateAnimation.ABSOLUTE, 0, - TranslateAnimation.ABSOLUTE, 0, - TranslateAnimation.ABSOLUTE, 0, - TranslateAnimation.ABSOLUTE, yTranslate); - - bounceAnimation.setDuration(BOUNCE_ANIMATION_DURATION); - bounceAnimation.setFillEnabled(true); - bounceAnimation.setFillAfter(false); - bounceAnimation.setFillBefore(true); - // bounceAnimation.setInterpolator(new - // OvershootInterpolator(BOUNCE_OVERSHOOT_TENSION)); - bounceAnimation.setAnimationListener(new HeaderAnimationListener(yTranslate)); - startAnimation(bounceAnimation); - } - - private void resetHeader() { - if (getFirstVisiblePosition() > 0) { - setHeaderPadding(-header.getHeight()); - setState(State.PULL_TO_REFRESH); - return; - } - - if (getAnimation() != null && !getAnimation().hasEnded()) { - bounceBackHeader = true; - } else { - bounceBackHeader(); - } - } - - private void setUiRefreshing() { - spinner.setVisibility(View.GONE); - image.clearAnimation(); - image.setVisibility(View.INVISIBLE); - text.setText(refreshingText); - mLoadingThread = new LoadingThread(mLoadingHandler); - mLoadingThread.start(); - isHeaderRefreshing = true; - // loadingText.setVisibility(View.VISIBLE); - } - - private void setState(State state) { - this.state = state; - switch (state) { - case PULL_TO_REFRESH: - spinner.setVisibility(View.GONE); - image.setVisibility(View.VISIBLE); - text.setText(pullToRefreshText); - if (mLoadingThread != null) { - mLoadingThread.interrupt(); - mLoadingThread = null; - } - isHeaderRefreshing = false; - // loadingText.setVisibility(View.GONE); - - if (showLastUpdatedText && lastUpdated != -1) { - lastUpdatedTextView.setVisibility(View.VISIBLE); - lastUpdatedTextView.setText(String.format(lastUpdatedText, - lastUpdatedDateFormat.format(new Date(lastUpdated)))); - } - - break; - - case RELEASE_TO_REFRESH: - spinner.setVisibility(View.GONE); - image.setVisibility(View.VISIBLE); - text.setText(releaseToRefreshText); - if (mLoadingThread != null) { - mLoadingThread.interrupt(); - mLoadingThread = null; - } - // loadingText.setVisibility(View.GONE); - isHeaderRefreshing = false; - break; - - case REFRESHING: - setUiRefreshing(); - - lastUpdated = System.currentTimeMillis(); - if (onRefreshListener == null) { - setState(State.PULL_TO_REFRESH); - } else { - onRefreshListener.onRefresh(); - } - - break; - } - } - - @Override - protected void onScrollChanged(int l, int t, int oldl, int oldt) { - super.onScrollChanged(l, t, oldl, oldt); - - Log.i("Vingle", "hasResetHeader : " + hasResetHeader + ", t : " + t + ", oldt : " + oldt); - - if (!hasResetHeader) { - if (measuredHeaderHeight > 0 && state != State.REFRESHING) { - setHeaderPadding(-measuredHeaderHeight); - } - - hasResetHeader = true; - } - } - - private class HeaderAnimationListener implements AnimationListener { - - private int height, translation; - private State stateAtAnimationStart; - - public HeaderAnimationListener(int translation) { - this.translation = translation; - } - - @Override - public void onAnimationStart(Animation animation) { - stateAtAnimationStart = state; - - ViewGroup.LayoutParams lp = getLayoutParams(); - height = lp.height; - lp.height = getHeight() - translation; - setLayoutParams(lp); - - if (scrollbarEnabled) { - setVerticalScrollBarEnabled(false); - } - } - - @Override - public void onAnimationEnd(Animation animation) { - setHeaderPadding(stateAtAnimationStart == State.REFRESHING ? 0 : -measuredHeaderHeight - - headerContainer.getTop()); - // setSelection(0); - - ViewGroup.LayoutParams lp = getLayoutParams(); - lp.height = height; - setLayoutParams(lp); - - if (scrollbarEnabled) { - setVerticalScrollBarEnabled(true); - } - - if (bounceBackHeader) { - bounceBackHeader = false; - - postDelayed(new Runnable() { - - @Override - public void run() { - resetHeader(); - } - }, BOUNCE_ANIMATION_DELAY); - } else if (stateAtAnimationStart != State.REFRESHING) { - setState(State.PULL_TO_REFRESH); - } - } - - @Override - public void onAnimationRepeat(Animation animation) { - } - } - - private class PTROnGlobalLayoutListener implements OnGlobalLayoutListener { - - @SuppressWarnings("deprecation") - @Override - public void onGlobalLayout() { - int initialHeaderHeight = header.getHeight(); - - if (initialHeaderHeight > 0) { - measuredHeaderHeight = initialHeaderHeight; - - if (measuredHeaderHeight > 0 && state != State.REFRESHING) { - setHeaderPadding(-measuredHeaderHeight); - requestLayout(); - } - } - - getViewTreeObserver().removeGlobalOnLayoutListener(this); - } - } - - // ////////////////////////////////////////////////////////////////// - // Loading Thread & Handler */ - // ////////////////////////////////////////////////////////////////// - - private class LoadingThread extends Thread { - Handler mHandler; - - public LoadingThread(Handler mHandler) { - this.mHandler = mHandler; - } - - @Override - public void run() { - try { - while (true) { - Message msg_loading_0 = mHandler.obtainMessage(LOADINGZERO); - msg_loading_0.obj = new WeakReference( - text); - mHandler.sendMessage(msg_loading_0); - Thread.sleep(LOADINGBUFFER); - - Message msg_loading_1 = mHandler.obtainMessage(LOADINGONE); - msg_loading_1.obj = new WeakReference( - text); - mHandler.sendMessage(msg_loading_1); - Thread.sleep(LOADINGBUFFER); - - Message msg_loading_2 = mHandler.obtainMessage(LOADINGTWO); - msg_loading_2.obj = new WeakReference( - text); - mHandler.sendMessage(msg_loading_2); - Thread.sleep(LOADINGBUFFER); - - Message msg_loading_3 = mHandler - .obtainMessage(LOADINGTHREE); - msg_loading_3.obj = new WeakReference( - text); - mHandler.sendMessage(msg_loading_3); - Thread.sleep(LOADINGBUFFER); - } - } catch (InterruptedException e) { - // do nothing. - } - } - } - - private static Handler mLoadingHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - - @SuppressWarnings("unchecked") - TextView tv = ((WeakReference) msg.obj).get(); - if (tv == null) - return; - - switch (msg.what) { - case LOADINGZERO: - tv.setText("Loading"); - break; - - case LOADINGONE: - tv.setText("Loading."); - break; - - case LOADINGTWO: - tv.setText("Loading.."); - break; - - case LOADINGTHREE: - tv.setText("Loading..."); - break; - - default: - break; - } - } - }; - - // private class PTROnItemClickListener implements OnItemClickListener { - // - // @Override - // public void onItemClick(AdapterView adapterView, View view, int - // position, long id){ - // hasResetHeader = false; - // - // if(onItemClickListener != null && state == State.PULL_TO_REFRESH){ - // // Passing up onItemClick. Correct position with the number of header - // views - // onItemClickListener.onItemClick(adapterView, view, position - - // getHeaderViewsCount(), id); - // } - // } - // } - // - // private class PTROnItemLongClickListener implements - // OnItemLongClickListener{ - // - // @Override - // public boolean onItemLongClick(AdapterView adapterView, View view, int - // position, long id){ - // hasResetHeader = false; - // - // if(onItemLongClickListener != null && state == State.PULL_TO_REFRESH){ - // // Passing up onItemLongClick. Correct position with the number of header - // views - // return onItemLongClickListener.onItemLongClick(adapterView, view, - // position - getHeaderViewsCount(), id); - // } - // - // return false; - // } - // } -} diff --git a/sample/build.gradle b/sample/build.gradle index fd39f28..e781e21 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -14,4 +14,5 @@ android { dependencies { compile project(':library') + compile 'com.android.support:appcompat-v7:19.+' } diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index 6877494..01eb42c 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -17,8 +17,6 @@ - - diff --git a/sample/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java b/sample/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java deleted file mode 100644 index f4965fd..0000000 --- a/sample/src/main/java/com/huewu/pla/sample/PullToRefreshSampleActivity.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.huewu.pla.sample; - -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.view.Menu; -import android.view.MenuItem; -import android.widget.ArrayAdapter; -import android.widget.ListAdapter; - -import com.huewu.pla.sample.R; -import com.huewu.pla.lib.internal.PLA_AdapterView; - -import java.util.Arrays; -import java.util.Random; - -public class PullToRefreshSampleActivity extends Activity { - - private class MySimpleAdapter extends ArrayAdapter { - - public MySimpleAdapter(Context context, int layoutRes) { - super(context, layoutRes, android.R.id.text1); - } - } - - private PLA_AdapterView mAdapterView = null; - private MySimpleAdapter mAdapter = null; - - @SuppressWarnings("unchecked") - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.sample_pull_to_refresh_act); - //mAdapterView = (PLA_AdapterView) findViewById(R.id.list); - mAdapterView = (PLA_AdapterView) findViewById(R.id.list); - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - menu.add(Menu.NONE, 1001, 0, "Load More Contents"); - return super.onCreateOptionsMenu(menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - - switch(item.getItemId()){ - case 1001: - { - int startCount = mAdapter.getCount(); - for( int i = 0; i < 100; ++i){ - //generate 100 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(startCount + i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(100)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - } - break; - case 1002: - { - Intent intent = new Intent(this, PullToRefreshSampleActivity.class); - startActivity(intent); - } - break; - } - return true; - } - - @Override - protected void onResume() { - super.onResume(); - initAdapter(); - mAdapterView.setAdapter(mAdapter); - //mAdapterView.setAdapter(mAdapter); - } - - private Random mRand = new Random(); - private void initAdapter() { - mAdapter = new MySimpleAdapter(this, R.layout.sample_item); - - for( int i = 0; i < 30; ++i){ - //generate 30 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(500)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - - } - -}//end of class diff --git a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java index 33bde9f..a077e41 100644 --- a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java +++ b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java @@ -1,126 +1,161 @@ package com.huewu.pla.sample; -import android.app.Activity; import android.content.Context; -import android.content.Intent; import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.app.FragmentTransaction; +import android.support.v4.view.ViewPager; +import android.support.v7.app.ActionBar; +import android.support.v7.app.ActionBarActivity; +import android.view.LayoutInflater; import android.view.Menu; +import android.view.MenuInflater; import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; import android.widget.ArrayAdapter; -import android.widget.TextView; -import com.huewu.pla.sample.R; import com.huewu.pla.lib.MultiColumnListView; -import com.huewu.pla.lib.internal.PLA_AbsListView.LayoutParams; -import java.util.Arrays; import java.util.Random; -public class SampleActivity extends Activity { - - private class MySimpleAdapter extends ArrayAdapter { - - public MySimpleAdapter(Context context, int layoutRes) { - super(context, layoutRes, android.R.id.text1); - } - } - - private MultiColumnListView mAdapterView = null; - private MySimpleAdapter mAdapter = null; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.sample_act); - //mAdapterView = (PLA_AdapterView) findViewById(R.id.list); - - mAdapterView = (MultiColumnListView) findViewById(R.id.list); - - { - for( int i = 0; i < 3; ++i ){ - //add header view. - TextView tv = new TextView(this); - tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); - tv.setText("Hello Header!! ........................................................................"); - mAdapterView.addHeaderView(tv); - } - } - { - for( int i = 0; i < 3; ++i ){ - //add footer view. - TextView tv = new TextView(this); - tv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); - tv.setText("Hello Footer!! ........................................................................"); - mAdapterView.addFooterView(tv); - } - } - } - - @Override - public boolean onCreateOptionsMenu(Menu menu) { - menu.add(Menu.NONE, 1001, 0, "Load More Contents"); - menu.add(Menu.NONE, 1002, 0, "Launch Pull-To-Refresh Activity"); - return super.onCreateOptionsMenu(menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - - switch(item.getItemId()){ - case 1001: - { - int startCount = mAdapter.getCount(); - for( int i = 0; i < 100; ++i){ - //generate 100 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(startCount + i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(100)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - } - break; - case 1002: - { - Intent intent = new Intent(this, PullToRefreshSampleActivity.class); - startActivity(intent); - } - break; - } - return true; - } - - @Override - protected void onResume() { - super.onResume(); - initAdapter(); - mAdapterView.setAdapter(mAdapter); - //mAdapterView.setAdapter(mAdapter); - } - - private Random mRand = new Random(); - private void initAdapter() { - mAdapter = new MySimpleAdapter(this, R.layout.sample_item); - - for( int i = 0; i < 30; ++i){ - //generate 30 random items. - - StringBuilder builder = new StringBuilder(); - builder.append("Hello!!["); - builder.append(i); - builder.append("] "); - - char[] chars = new char[mRand.nextInt(500)]; - Arrays.fill(chars, '1'); - builder.append(chars); - mAdapter.add(builder.toString()); - } - - } - -}//end of class +public class SampleActivity extends ActionBarActivity implements ActionBar.TabListener { + private SectionsPagerAdapter mSectionsPagerAdapter; + private ViewPager mViewPager; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.sample_act); + + // Set up the action bar. + final ActionBar actionBar = getSupportActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); + + mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); + + // Set up the ViewPager with the sections adapter. + mViewPager = (ViewPager) findViewById(R.id.pager); + mViewPager.setAdapter(mSectionsPagerAdapter); + + mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { + @Override + public void onPageSelected(int position) { + actionBar.setSelectedNavigationItem(position); + } + }); + + for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) { + actionBar.addTab( + actionBar.newTab() + .setText(mSectionsPagerAdapter.getPageTitle(i)) + .setTabListener(this) + ); + } + + } + + @Override + public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { + mViewPager.setCurrentItem(tab.getPosition()); + } + + @Override + public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { + } + + @Override + public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { + } + + + public class SectionsPagerAdapter extends FragmentPagerAdapter { + + public SectionsPagerAdapter(FragmentManager fm) { + super(fm); + } + + @Override + public Fragment getItem(int position) { + return PlaceholderFragment.newInstance(position); + } + + @Override + public int getCount() { + return 4; + } + + @Override + public CharSequence getPageTitle(int position) { + return "SECTION " + position; + } + } + + public static class PlaceholderFragment extends Fragment { + + private PLAAdapter mAdapter; + + public static PlaceholderFragment newInstance(int i) { + return new PlaceholderFragment(); + } + + public PlaceholderFragment() { + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + return inflater.inflate(R.layout.sample_frag, container, false); + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + + MultiColumnListView listView = (MultiColumnListView) view.findViewById(R.id.list); + mAdapter = new PLAAdapter(getActivity()); + fillAdapter(mAdapter, 30); + listView.setAdapter(mAdapter); + } + + private void fillAdapter(PLAAdapter adapter, int count) { + Random random = new Random(); + for (int i = 0; i < count; ++i) { + StringBuilder builder = new StringBuilder(); + for (int j = adapter.getCount(), max = 10 + random.nextInt(200); j < max; j++) + builder.append(i).append(' '); + adapter.add(builder.toString()); + } + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + menu.add(Menu.NONE, 1002, 0, "Load More Contents"); + super.onCreateOptionsMenu(menu, inflater); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + + switch (item.getItemId()) { + case 1002: { + int startCount = mAdapter.getCount(); + fillAdapter(mAdapter, 100); + } + break; + } + return super.onOptionsItemSelected(item); + } + } + + private static class PLAAdapter extends ArrayAdapter { + public PLAAdapter(Context context) { + super(context, R.layout.sample_item, android.R.id.text1); + } + } +} diff --git a/sample/src/main/res/drawable-mdpi/ic_launcher.png b/sample/src/main/res/drawable-mdpi/ic_launcher.png deleted file mode 100644 index f170ae5c7e4e638414bb448ee3135d9759a04ba4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 987 zcmV<110?*3P)8JX@wj(1ah0(@8|x?J?EyR#Iho= znwlD$$K$yxiXs%dp+?k-nlk_u6%{KOhT&-{^soX5lDw>EBw2<*@*J(9R@9sUC@(Kx z>GgW4Dtq=L2G4)Smi0`_R08gN<){HrD{9UFl$DjOq6Oed>+kPoffI9kAxTM>uf$5^!!H47)l4P~GH%%GW+vPp&)L18~|MhL*{M z(qm7?VtLI2T>)g$!p%h3I!8+IVqQfYhnytKg$IZyWjIS(b}7Que&S;YBBE3{fCLeL zyf;K8KJB&LK{9uw!T?8&)&n_jU%CHL3Fgn2IG8 z!Ie7u$gF4%K=Wi=ck$@>elP_9Usy%}Tqg6v5P?nU*3#SiX86pD z5r@-HE}1{T4KJ5jZE&K6cnMyRx9CB#m(klFeUCy+Ozo4>y<#7V%)7)c31BQD<}8)y z*BK73eu)?|gf4!bg~tR!eII+A3ZP?}*Hm`0KWr!fy83?OuQ(k*`*gx|fb)YEfCXRy zSO6A)1@IpOT+kC>C?seqyFxZsMgrU$)o#_hd^{ZhhIrWG>54F5$E~%I070_b-SK`d z;6FrmrlKU%Z>KRW*hyO8<#-%eK9&A35&#X;EUzZwN}wm4Gb~WX_iebex)q!+gi05yNBPRN|}=c zPMD@FSaup)PMxUQN(5)yZf8IPuu#x$0aySQ00jWUFjSS{vWj{CY;k*t;A}gr%4Xxa z8SUxJ-(yxSfXn3qL7+Rk#nfOr35LC)&i7;5a6{7^0OnU|4K<=x4M0OfgXng;D-}<1F5iUirG;kYE6Ia@dswL57OfoM;HJA002ov JPDHLkV1g6u!2SRL diff --git a/sample/src/main/res/layout/sample_act.xml b/sample/src/main/res/layout/sample_act.xml index 1e08b31..61ce7b9 100644 --- a/sample/src/main/res/layout/sample_act.xml +++ b/sample/src/main/res/layout/sample_act.xml @@ -1,16 +1,5 @@ - - - - - - - \ No newline at end of file + android:layout_height="match_parent"/> diff --git a/sample/src/main/res/layout/sample_frag.xml b/sample/src/main/res/layout/sample_frag.xml new file mode 100644 index 0000000..923a05f --- /dev/null +++ b/sample/src/main/res/layout/sample_frag.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/sample/src/main/res/layout/sample_pull_to_refresh_act.xml b/sample/src/main/res/layout/sample_pull_to_refresh_act.xml deleted file mode 100644 index 1c045fe..0000000 --- a/sample/src/main/res/layout/sample_pull_to_refresh_act.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/sample/src/main/res/values-v11/styles.xml b/sample/src/main/res/values-v11/styles.xml deleted file mode 100644 index d408cbc..0000000 --- a/sample/src/main/res/values-v11/styles.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file + From e3a51c10b220d16aa890e1ae3381f1209c66b7c2 Mon Sep 17 00:00:00 2001 From: juyeong Date: Fri, 23 May 2014 15:49:49 +0900 Subject: [PATCH 10/32] fix NullPointerException --- .../src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java index 2d3e86f..86e909d 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java @@ -315,7 +315,7 @@ public boolean isFixedView( View v ) { public boolean removeHeaderView(View v) { if (mHeaderViewInfos.size() > 0) { boolean result = false; - if (((PLA_HeaderViewListAdapter) mAdapter).removeHeader(v)) { + if (mAdapter != null && ((PLA_HeaderViewListAdapter) mAdapter).removeHeader(v)) { mDataSetObserver.onChanged(); result = true; } From 92cd70ebff435c3bfb5f905c5e16fa29b1732225 Mon Sep 17 00:00:00 2001 From: juyeong Date: Fri, 23 May 2014 15:57:41 +0900 Subject: [PATCH 11/32] add content background colour --- .../huewu/pla/lib/internal/PLA_ListView.java | 34 +++++++++++++++++++ library/src/main/res/values/attrs.xml | 2 ++ 2 files changed, 36 insertions(+) diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java index 86e909d..3138f46 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java @@ -118,6 +118,7 @@ public class FixedViewInfo { // used for temporary calculations. private final Rect mTempRect = new Rect(); private Paint mDividerPaint; + private Paint mContentPaint = new Paint(); public PLA_ListView(Context context) { this(context, null); @@ -161,6 +162,12 @@ public PLA_ListView(Context context, AttributeSet attrs, int defStyle) { mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); mFooterDividersEnabled = a.getBoolean(R.styleable.ListView_footerDividersEnabled, true); + if (a.hasValue(R.styleable.ListView_plaContentBackground)) { + int contentBackgroundColor = a.getColor(R.styleable.ListView_plaContentBackground, 0); + mContentPaint = new Paint(); + mContentPaint.setColor(contentBackgroundColor); + } + a.recycle(); } @@ -1747,6 +1754,8 @@ protected void dispatchDraw(Canvas canvas) { final boolean drawOverscrollFooter = overscrollFooter != null; final boolean drawDividers = dividerHeight > 0 && mDivider != null; + drawContentBackground(canvas); + if (drawDividers || drawOverscrollHeader || drawOverscrollFooter) { // Only modify the top and bottom in the loop, we set the left and right here final Rect bounds = mTempRect; @@ -1887,6 +1896,31 @@ protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); } + private void drawContentBackground(Canvas canvas) { + if (getHeaderViewsCount() > 0) { + Rect rect = mTempRect; + rect.left = getLeft(); + rect.right = getRight(); + View firstVisibleView = getChildAt(getFirstVisiblePosition()); + + if (isHeaderView(firstVisibleView)) { + View lastHeader = mHeaderViewInfos.get(mHeaderViewInfos.size() - 1).view; + rect.top = lastHeader.getBottom(); + } else + rect.top = 0; + rect.bottom = getBottom(); + canvas.drawRect(rect, mContentPaint); + } + } + + private boolean isHeaderView(View view) { + for (FixedViewInfo info : mHeaderViewInfos) { + if (info.view == view) + return true; + } + return false; + } + /** * Draws a divider for the given child in the given bounds. * diff --git a/library/src/main/res/values/attrs.xml b/library/src/main/res/values/attrs.xml index e0d6cfd..78068d1 100644 --- a/library/src/main/res/values/attrs.xml +++ b/library/src/main/res/values/attrs.xml @@ -838,6 +838,8 @@ + + \ No newline at end of file From 67084af037a8c099ce31915fbdab5a688fa3a53e Mon Sep 17 00:00:00 2001 From: juyeong Date: Fri, 18 Jul 2014 12:29:57 +0900 Subject: [PATCH 12/32] Fix not restored exact item position which next to first item --- .../pla/lib/internal/PLA_AbsListView.java | 35 +++++++++++++++---- .../pla/lib/internal/PLA_AdapterView.java | 9 ++--- .../huewu/pla/lib/internal/PLA_ListView.java | 24 +++++++++---- .../com/huewu/pla/sample/SampleActivity.java | 4 +-- 4 files changed, 53 insertions(+), 19 deletions(-) diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java index 63c8b62..1ebaca9 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java @@ -65,6 +65,8 @@ public abstract class PLA_AbsListView extends PLA_AdapterView implements ViewTreeObserver.OnGlobalLayoutListener, ViewTreeObserver.OnTouchModeChangeListener { + private static final String TAG = "PLA_AbsListView"; + //FIXME not supported features... (removed from original AbsListView)... //Filter //Fast Scroll @@ -2551,7 +2553,7 @@ protected void onLayoutSync(int syncPosition) { /** * adapter data is changed.. children layout manipulation is finished. - * @param mSyncPosition + * @param syncPosition */ protected void onLayoutSyncFinished(int syncPosition) { } @@ -3271,6 +3273,8 @@ static class SavedState extends BaseSavedState { int viewTop; int position; int height; + int childCount; + int[] viewTops; /** * Constructor called from {@link PLA_AbsListView#onSaveInstanceState()} @@ -3286,6 +3290,9 @@ private SavedState(Parcel in) { super(in); firstId = in.readLong(); viewTop = in.readInt(); + childCount = in.readInt(); + viewTops = new int[childCount]; + in.readIntArray(viewTops); position = in.readInt(); height = in.readInt(); } @@ -3295,18 +3302,23 @@ public void writeToParcel(Parcel out, int flags) { super.writeToParcel(out, flags); out.writeLong(firstId); out.writeInt(viewTop); + out.writeInt(childCount); + out.writeIntArray(viewTops); out.writeInt(position); out.writeInt(height); } @Override public String toString() { - return "AbsListView.SavedState{" + return "PLA_AbsListView.SavedState{" + Integer.toHexString(System.identityHashCode(this)) + " firstId=" + firstId + " viewTop=" + viewTop + " position=" + position - + " height=" + height + "}"; + + " height=" + height + + " childCount=" + childCount + + " viewTops=" + viewTops + + "}"; } public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @@ -3332,12 +3344,16 @@ public Parcelable onSaveInstanceState() { // Just keep what we last restored. ss.firstId = mPendingSync.firstId; ss.viewTop = mPendingSync.viewTop; + ss.viewTops = mPendingSync.viewTops; ss.position = mPendingSync.position; ss.height = mPendingSync.height; + ss.childCount = mPendingSync.childCount; return ss; } - boolean haveChildren = getChildCount() > 0 && mItemCount > 0; + ss.height = getHeight(); + int childCount = getChildCount(); + boolean haveChildren = childCount > 0 && mItemCount > 0; if (haveChildren && mFirstPosition > 0) { // Remember the position of the first child. // We only do this if we are not currently at the top of @@ -3348,18 +3364,24 @@ public Parcelable onSaveInstanceState() { // (2) Being "at the top" seems like a special case, anyway, // and the user wouldn't expect to end up somewhere else when // they revisit the list even if its content has changed. - View v = getChildAt(0); - ss.viewTop = v.getTop(); int firstPos = mFirstPosition; if (firstPos >= mItemCount) { firstPos = mItemCount - 1; } ss.position = firstPos; ss.firstId = mAdapter.getItemId(firstPos); + ss.childCount = childCount; + View v = getChildAt(0); + ss.viewTop = v.getTop(); + ss.viewTops = new int[childCount]; + for (int i = 0; i < childCount; i++) { + ss.viewTops[i] = getChildAt(i).getTop(); + } } else { ss.viewTop = 0; ss.firstId = INVALID_POSITION; ss.position = 0; + ss.viewTops = new int[1]; } return ss; } @@ -3380,6 +3402,7 @@ public void onRestoreInstanceState(Parcelable state) { mSyncRowId = ss.firstId; mSyncPosition = ss.position; mSpecificTop = ss.viewTop; + mSpecificTops = ss.viewTops; } requestLayout(); } diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java index 6e1cec9..aa587a6 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AdapterView.java @@ -64,10 +64,11 @@ public abstract class PLA_AdapterView extends ViewGroup { /** * The offset in pixels from the top of the AdapterView to the top * of the view to select during the next layout. - */ - int mSpecificTop; - - /** + */ + int mSpecificTop; + int[] mSpecificTops; + + /** * Position from which to start looking for mSyncRowId */ int mSyncPosition; diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java index efa3bfb..43e66e0 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java @@ -1146,7 +1146,12 @@ protected void layoutChildren() { onLayoutSync(mSyncPosition); // Clear out old views detachAllViewsFromParent(); - fillSpecific(mSyncPosition, mSpecificTop); + if (mSpecificTops != null) { + fillSynced(mSyncPosition, mSpecificTops); + mSpecificTops = null; + } else { + fillSpecific(mSyncPosition, mSpecificTop); + } onLayoutSyncFinished(mSyncPosition); break; case LAYOUT_FORCE_BOTTOM: @@ -1215,6 +1220,14 @@ protected void layoutChildren() { } } + private void fillSynced(int position, int[] specificTops) { + for (int i = 0; i < specificTops.length; i++) { + makeAndAddView(position + i, specificTops[i], true, false); + adjustViewsUpOrDown(); + } + mFirstPosition = position; + } + /** * Obtain the view and add it to our list of children. The view can be made * fresh, converted from an unused view, or used as is if it was in the @@ -1224,7 +1237,6 @@ protected void layoutChildren() { * @param childrenBottomOrTop Top or bottom edge of the view to add * @param flow If flow is true, align top edge to y. If false, align bottom * edge to y. - * @param childrenLeft Left edge where children should be positioned * @param selected Is this position selected? * @return View that was added */ @@ -2113,7 +2125,7 @@ public boolean performItemClick(View view, int position, long id) { * Sets the checked state of the specified position. The is only valid if * the choice mode has been set to {@link #CHOICE_MODE_SINGLE} or * {@link #CHOICE_MODE_MULTIPLE}. - * + * * @param position The item whose checked state is to be checked * @param value The new checked state for the item */ @@ -2164,10 +2176,10 @@ public SparseBooleanArray getCheckedItemPositions() { /** * Returns the set of checked items ids. The result is only valid if the * choice mode has not been set to {@link #CHOICE_MODE_NONE}. - * + * * @return A new array which contains the id of each checked item in the * list. - * + * * @deprecated Use {@link #getCheckedItemIds()} instead. */ @Deprecated @@ -2184,7 +2196,7 @@ public long[] getCheckItemIds() { * Returns the set of checked items ids. The result is only valid if the * choice mode has not been set to {@link #CHOICE_MODE_NONE} and the adapter * has stable IDs. ({@link android.widget.ListAdapter#hasStableIds()} == {@code true}) - * + * * @return A new array which contains the id of each checked item in the * list. */ diff --git a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java index a077e41..92c16e3 100644 --- a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java +++ b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java @@ -124,10 +124,9 @@ public void onViewCreated(View view, Bundle savedInstanceState) { } private void fillAdapter(PLAAdapter adapter, int count) { - Random random = new Random(); for (int i = 0; i < count; ++i) { StringBuilder builder = new StringBuilder(); - for (int j = adapter.getCount(), max = 10 + random.nextInt(200); j < max; j++) + for (int j = adapter.getCount(), max = (i * 1234) % 500; j < max; j++) builder.append(i).append(' '); adapter.add(builder.toString()); } @@ -144,7 +143,6 @@ public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 1002: { - int startCount = mAdapter.getCount(); fillAdapter(mAdapter, 100); } break; From e584bcc10add79eca438ba28e422b8c5b08c2916 Mon Sep 17 00:00:00 2001 From: Jisung Jung Date: Tue, 22 Jul 2014 12:12:47 +0900 Subject: [PATCH 13/32] fixed crashed during onSaveInstanceState and it's restoring --- .../huewu/pla/lib/MultiColumnListView.java | 62 ++------ .../pla/lib/ParcelableSparseIntArray.java | 1 + .../pla/lib/internal/PLA_AbsListView.java | 141 ++++++------------ 3 files changed, 62 insertions(+), 142 deletions(-) diff --git a/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java b/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java index 6285f96..462c139 100644 --- a/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java +++ b/library/src/main/java/com/huewu/pla/lib/MultiColumnListView.java @@ -16,17 +16,17 @@ package com.huewu.pla.lib; +import com.huewu.pla.R; +import com.huewu.pla.lib.internal.PLA_ListView; + import android.content.Context; import android.content.res.TypedArray; import android.graphics.Rect; -import android.os.Parcel; +import android.os.Bundle; import android.os.Parcelable; import android.util.AttributeSet; import android.view.View; -import com.huewu.pla.R; -import com.huewu.pla.lib.internal.PLA_ListView; - /** * @author huewu.ynag * @date 2012-11-06 @@ -431,55 +431,21 @@ public int getTop() { }//end of class - static class SavedState extends BaseSavedState { - ParcelableSparseIntArray items; - - /** - * Constructor called from {@link MultiColumnListView#onSaveInstanceState()} - */ - SavedState(Parcelable superState) { - super(superState); - } - - /** - * Constructor called from {@link #CREATOR} - */ - private SavedState(Parcel in) { - super(in); - items = in.readParcelable(ClassLoader.getSystemClassLoader()); - } - - @Override - public void writeToParcel(Parcel out, int flags) { - super.writeToParcel(out, flags); - out.writeParcelable(items, flags); - } - - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { - @Override - public SavedState createFromParcel(Parcel in) { - return new SavedState(in); - } - - @Override - public SavedState[] newArray(int size) { - return new SavedState[size]; - } - }; - } - @Override public Parcelable onSaveInstanceState() { - Parcelable superState = super.onSaveInstanceState(); - SavedState ss = new SavedState(superState); - ss.items = mItems; - return ss; + Bundle bundle = new Bundle(); + bundle.putParcelable("instanceState", super.onSaveInstanceState()); + bundle.putParcelable("items", mItems); + return bundle; } @Override public void onRestoreInstanceState(Parcelable state) { - SavedState ss = (SavedState) state; - super.onRestoreInstanceState(ss.getSuperState()); - mItems = ss.items; + if (state instanceof Bundle) { + Bundle bundle = (Bundle) state; + mItems = bundle.getParcelable("items"); + state = bundle.getParcelable("instanceState"); + } + super.onRestoreInstanceState(state); } }//end of class diff --git a/library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java b/library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java index b66882c..fe082f2 100644 --- a/library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java +++ b/library/src/main/java/com/huewu/pla/lib/ParcelableSparseIntArray.java @@ -17,6 +17,7 @@ public ParcelableSparseIntArray(int initialCapacity) { super(initialCapacity); } + @SuppressWarnings("unchecked") private ParcelableSparseIntArray(Parcel in) { append(in.readSparseArray (ClassLoader.getSystemClassLoader())); } diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java index 1ebaca9..e5daae1 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java @@ -22,6 +22,7 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.TransitionDrawable; +import android.os.Bundle; import android.os.Debug; import android.os.Parcel; import android.os.Parcelable; @@ -2546,7 +2547,7 @@ protected void handleDataChanged() { /** * adapter data is changed.. should keep current view layout information.. - * @param mSyncPosition + * @param syncPosition */ protected void onLayoutSync(int syncPosition) { } @@ -3268,91 +3269,35 @@ protected int getScrollChildBottom() { } - static class SavedState extends BaseSavedState { + static class SavedState { long firstId; int viewTop; int position; int height; int childCount; int[] viewTops; - - /** - * Constructor called from {@link PLA_AbsListView#onSaveInstanceState()} - */ - SavedState(Parcelable superState) { - super(superState); - } - - /** - * Constructor called from {@link #CREATOR} - */ - private SavedState(Parcel in) { - super(in); - firstId = in.readLong(); - viewTop = in.readInt(); - childCount = in.readInt(); - viewTops = new int[childCount]; - in.readIntArray(viewTops); - position = in.readInt(); - height = in.readInt(); - } - - @Override - public void writeToParcel(Parcel out, int flags) { - super.writeToParcel(out, flags); - out.writeLong(firstId); - out.writeInt(viewTop); - out.writeInt(childCount); - out.writeIntArray(viewTops); - out.writeInt(position); - out.writeInt(height); - } - - @Override - public String toString() { - return "PLA_AbsListView.SavedState{" - + Integer.toHexString(System.identityHashCode(this)) - + " firstId=" + firstId - + " viewTop=" + viewTop - + " position=" + position - + " height=" + height - + " childCount=" + childCount - + " viewTops=" + viewTops - + "}"; - } - - public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { - @Override - public SavedState createFromParcel(Parcel in) { - return new SavedState(in); - } - - @Override - public SavedState[] newArray(int size) { - return new SavedState[size]; - } - }; } @Override public Parcelable onSaveInstanceState() { - Parcelable superState = super.onSaveInstanceState(); - SavedState ss = new SavedState(superState); + Bundle ss = new Bundle(); + ss.putParcelable("instanceState", super.onSaveInstanceState()); if (mPendingSync != null) { // Just keep what we last restored. - ss.firstId = mPendingSync.firstId; - ss.viewTop = mPendingSync.viewTop; - ss.viewTops = mPendingSync.viewTops; - ss.position = mPendingSync.position; - ss.height = mPendingSync.height; - ss.childCount = mPendingSync.childCount; + ss.putLong("firstId", mPendingSync.firstId); + ss.putInt("viewTop", mPendingSync.viewTop); + ss.putIntArray("viewTops", mPendingSync.viewTops); + ss.putInt("position", mPendingSync.position); + ss.putInt("height", mPendingSync.height); + ss.putInt("childCount", mPendingSync.childCount); return ss; } - ss.height = getHeight(); + ss.putInt("height", getHeight()); int childCount = getChildCount(); + ss.putInt("childCount", childCount); boolean haveChildren = childCount > 0 && mItemCount > 0; if (haveChildren && mFirstPosition > 0) { // Remember the position of the first child. @@ -3364,46 +3309,54 @@ public Parcelable onSaveInstanceState() { // (2) Being "at the top" seems like a special case, anyway, // and the user wouldn't expect to end up somewhere else when // they revisit the list even if its content has changed. + int firstPos = mFirstPosition; if (firstPos >= mItemCount) { firstPos = mItemCount - 1; } - ss.position = firstPos; - ss.firstId = mAdapter.getItemId(firstPos); - ss.childCount = childCount; + ss.putInt("position", firstPos); + ss.putLong("firstId", mAdapter.getItemId(firstPos)); View v = getChildAt(0); - ss.viewTop = v.getTop(); - ss.viewTops = new int[childCount]; + ss.putInt("viewTop", v.getTop()); + int[] viewTops = new int[childCount]; for (int i = 0; i < childCount; i++) { - ss.viewTops[i] = getChildAt(i).getTop(); + viewTops[i] = getChildAt(i).getTop(); } + ss.putIntArray("viewTops", viewTops); } else { - ss.viewTop = 0; - ss.firstId = INVALID_POSITION; - ss.position = 0; - ss.viewTops = new int[1]; + ss.putInt("viewTop", 0); + ss.putLong("firstId", INVALID_POSITION); + ss.putInt("position", 0); + ss.putIntArray("viewTops", new int[1]); } return ss; } @Override public void onRestoreInstanceState(Parcelable state) { - SavedState ss = (SavedState) state; - - DebugUtil.LogDebug("data changed by onRestoreInstanceState()"); - super.onRestoreInstanceState(ss.getSuperState()); - mDataChanged = true; - - mSyncHeight = ss.height; - - if (ss.firstId >= 0) { - mNeedSync = true; - mPendingSync = ss; - mSyncRowId = ss.firstId; - mSyncPosition = ss.position; - mSpecificTop = ss.viewTop; - mSpecificTops = ss.viewTops; - } + if (state instanceof Bundle) { + Bundle bundle = (Bundle) state; + mDataChanged = true; + mSyncHeight = bundle.getInt("height"); + long firstId = bundle.getLong("firstId"); + if (firstId >= 0) { + mNeedSync = true; + SavedState ss = new SavedState(); + ss.firstId = firstId; + ss.height = (int) mSyncHeight; + ss.position = bundle.getInt("position"); + ss.viewTop = bundle.getInt("viewTop"); + ss.childCount = bundle.getInt("childCount"); + ss.viewTops = bundle.getIntArray("viewTops"); + mPendingSync = ss; + mSyncRowId = ss.firstId; + mSyncPosition = ss.position; + mSpecificTop = ss.viewTop; + mSpecificTops = ss.viewTops; + } + state = bundle.getParcelable("instanceState"); + } + super.onRestoreInstanceState(state); requestLayout(); } }//end of class From e42684e5b8c5a13cbea500d60a1a07cc5c3e324c Mon Sep 17 00:00:00 2001 From: Wonsik Date: Wed, 23 Jul 2014 16:38:49 +0900 Subject: [PATCH 14/32] prevent NullPointerException in removeFooterView method --- .../src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java index 780f7e8..27f5f4c 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_ListView.java @@ -399,7 +399,7 @@ public int getFooterViewsCount() { public boolean removeFooterView(View v) { if (mFooterViewInfos.size() > 0) { boolean result = false; - if (((PLA_HeaderViewListAdapter) mAdapter).removeFooter(v)) { + if (mAdapter != null && ((PLA_HeaderViewListAdapter) mAdapter).removeFooter(v)) { mDataSetObserver.onChanged(); result = true; } From b30462c931298024e8c5d8b06b889c3fc8dc1db1 Mon Sep 17 00:00:00 2001 From: Jason Cao Date: Wed, 29 Oct 2014 22:19:28 +0800 Subject: [PATCH 15/32] set column padding left and right in code --- src/main/java/com/huewu/pla/lib/MultiColumnListView.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/huewu/pla/lib/MultiColumnListView.java b/src/main/java/com/huewu/pla/lib/MultiColumnListView.java index 8b7e664..69b32cb 100644 --- a/src/main/java/com/huewu/pla/lib/MultiColumnListView.java +++ b/src/main/java/com/huewu/pla/lib/MultiColumnListView.java @@ -93,6 +93,14 @@ private void init(AttributeSet attrs) { mFixedColumn = new FixedColumn(); } + public void setColumnPaddingLeft(int columnPaddingLeft) { + this.mColumnPaddingLeft = columnPaddingLeft; + } + + public void setColumnPaddingRight(int columnPaddingRight) { + this.mColumnPaddingRight = columnPaddingRight; + } + /////////////////////////////////////////////////////////////////////// //Override Methods... /////////////////////////////////////////////////////////////////////// From 55a55dfb030f9eac6c8fa12fe1e3550482989564 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 22:58:02 +0900 Subject: [PATCH 16/32] Ad-hoc patch for a removed method initializeScrollbars initializeScrollbars was removed from API level 21. I resolved it using a reflection trick. Because it is an ad-hoc patch, it must be reimplemented later. --- .../huewu/pla/lib/internal/PLA_AbsListView.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java index e5daae1..e610e44 100644 --- a/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java +++ b/library/src/main/java/com/huewu/pla/lib/internal/PLA_AbsListView.java @@ -44,6 +44,8 @@ import com.huewu.pla.R; import com.huewu.pla.lib.DebugUtil; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Stack; @@ -456,7 +458,18 @@ public PLA_AbsListView(Context context) { setVerticalScrollBarEnabled(true); TypedArray a = context.obtainStyledAttributes(R.styleable.View); - initializeScrollbars(a); + + // FIXME: ad hoc patch + try { + // initializeScrollbars(TypedArray) + final Method initializeScrollbars = + android.view.View.class.getDeclaredMethod("initializeScrollbars", + TypedArray.class); + initializeScrollbars.invoke(this, a); + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { + e.printStackTrace(); + } + a.recycle(); } From 90c6f9e5192ed7420df94093dc121e8993633001 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 22:58:50 +0900 Subject: [PATCH 17/32] Remove unneccessary pom.xmls. --- library/pom.xml | 34 ---------------------------------- sample/pom.xml | 39 --------------------------------------- 2 files changed, 73 deletions(-) delete mode 100644 library/pom.xml delete mode 100644 sample/pom.xml diff --git a/library/pom.xml b/library/pom.xml deleted file mode 100644 index 74a3d53..0000000 --- a/library/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - 4.0.0 - - library - aar - - PLA Library - - - com.huewu.pla - parent - 1.0.3-SNAPSHOT - - - - - com.google.android - android - - - - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - true - - - - diff --git a/sample/pom.xml b/sample/pom.xml deleted file mode 100644 index 7f7a6fc..0000000 --- a/sample/pom.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - 4.0.0 - - sample - apk - - PLA Sample - - - com.huewu.pla - parent - 1.0.3-SNAPSHOT - - - - - com.google.android - android - - - ${project.groupId} - library - aar - ${project.version} - - - - - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - - - - From f81e4b54cbfbce69efa6055dec58ce1215e1c4c6 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 22:59:27 +0900 Subject: [PATCH 18/32] Update grade version, wrapper version, target API level. --- build.gradle | 6 +++--- gradle/wrapper/gradle-wrapper.jar | Bin 49896 -> 50557 bytes gradle/wrapper/gradle-wrapper.properties | 4 ++-- library/build.gradle | 7 ++++--- sample/build.gradle | 8 ++++---- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/build.gradle b/build.gradle index bd64a55..3e2f72d 100644 --- a/build.gradle +++ b/build.gradle @@ -2,10 +2,10 @@ buildscript { repositories { - mavenCentral() + jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:0.12.+' + classpath 'com.android.tools.build:gradle:1.0.0' } } @@ -14,7 +14,7 @@ allprojects { group = "com.huewu.pla" repositories { - mavenCentral() + jcenter() } tasks.withType(JavaCompile) { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 8c0fb64a8698b08ecc4158d828ca593c4928e9dd..5838598129719e795cc5633f411468bdec311016 100644 GIT binary patch delta 39048 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5de946b..2581574 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Apr 10 15:27:10 PDT 2013 +#Sat Feb 07 22:26:15 KST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip +distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip diff --git a/library/build.gradle b/library/build.gradle index 7c8039d..fff9286 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,10 +1,11 @@ apply plugin: 'com.android.library' + android { - compileSdkVersion 19 - buildToolsVersion '20.0.0' + compileSdkVersion 21 + buildToolsVersion '21.1.2' defaultConfig { minSdkVersion 8 - targetSdkVersion 19 + targetSdkVersion 21 } } \ No newline at end of file diff --git a/sample/build.gradle b/sample/build.gradle index e781e21..f4c8c35 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 19 - buildToolsVersion '20.0.0' + compileSdkVersion 21 + buildToolsVersion '21.1.2' defaultConfig { minSdkVersion 8 - targetSdkVersion 19 + targetSdkVersion 21 versionCode 1 versionName "1.0" } @@ -14,5 +14,5 @@ android { dependencies { compile project(':library') - compile 'com.android.support:appcompat-v7:19.+' + compile 'com.android.support:appcompat-v7:21.0.3' } From 49d10399addcb30d8f960963051d8202fb54e704 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 23:00:08 +0900 Subject: [PATCH 19/32] Remove pom.xml file again. --- pom.xml | 86 --------------------------------------------------------- 1 file changed, 86 deletions(-) delete mode 100644 pom.xml diff --git a/pom.xml b/pom.xml deleted file mode 100644 index adc692f..0000000 --- a/pom.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - 4.0.0 - - com.huewu.pla - parent - 1.0.3-SNAPSHOT - - PinterestLikeAdapterView - Multi column listview like Pinterest - http://www.vingle.net - - - https://github.com/balmbees/PinterestLikeAdapterView.git - scm:git@github.com:balmbees/PinterestLikeAdapterView.git - scm:git@github.com:balmbees/PinterestLikeAdapterView.git - - - - - GitHub Issues - https://github.com/balmbees/PinterestLikeAdapterView/issues - - - - Vingle - http://www.vingle.net/ - - - - library - sample - - - - UTF-8 - UTF-8 - 4.1.1.4 - 19 - 3.8.2 - 1.6 - 1.6 - - - - - - com.google.android - android - ${android.version} - provided - - - - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - - com.jayway.maven.plugins.android.generation2 - android-maven-plugin - ${android-maven.version} - - - ${android.platform} - - true - ${sourceCompatibility} - ${sourceCompatibility} - ${project.basedir}/src/main/AndroidManifest.xml - ${project.basedir}/src/main/res - - true - - - - - From e759cb23629e43cdaf8816d78b9aa6b1e22affe7 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 23:08:14 +0900 Subject: [PATCH 20/32] Update build tool, emulator and test all branches using Travis-ci --- .travis.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 50861da..dd9479b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,19 +4,15 @@ language: jdk: - oraclejdk7 -branches: - only: - - master - env: matrix: - ANDROID_TARGET=android-19 ANDROID_ABI=armeabi-v7a android: components: - - build-tools-20.0.0 - - android-19 - - sysimg-19 + - build-tools-21.1.2 + - android-21 + - sysimg-21 before_script: # Create and start emulator From 9b4153ca643da7ccf425665cef1d3a4e9929297f Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 23:20:03 +0900 Subject: [PATCH 21/32] Disable lint options to pass Travis-ci temporarily --- library/build.gradle | 4 ++++ sample/build.gradle | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/library/build.gradle b/library/build.gradle index fff9286..19a8ba6 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -8,4 +8,8 @@ android { minSdkVersion 8 targetSdkVersion 21 } + + lintOptions { + abortOnError false + } } \ No newline at end of file diff --git a/sample/build.gradle b/sample/build.gradle index f4c8c35..6b98576 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -10,6 +10,10 @@ android { versionCode 1 versionName "1.0" } + + lintOptions { + abortOnError false + } } dependencies { From de3871eb16408d4bd2ccf347ff38da0c3538100c Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 23:28:56 +0900 Subject: [PATCH 22/32] update AUTHORS.md --- AUTHORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.md b/AUTHORS.md index df82045..4d60915 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -9,4 +9,5 @@ Keep the list sorted please. * Leonardo TaeHwan Kim - liger745547 at gmail.com * Leonardo YongUk Kim - dalinaum at gmail.com * Thomas Urbanitsch - urbtom at bluesource.at + * Wonsik Sung - kai4th at gmail.com From 3b760ef52f576caeaa8f733587823862964c1095 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sat, 7 Feb 2015 23:41:49 +0900 Subject: [PATCH 23/32] Ignored Intellij project files Thanks for @Jacyzon https://github.com/GDG-Korea/PinterestLikeAdapterView/pull/23 --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 1bfb6e8..ed8203c 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,6 @@ .DS_Store .idea *.iml +*.ipr +*.iws build From ac10af777f116fb472e0d5daceaba6b5bd6d44d8 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sun, 8 Feb 2015 00:00:05 +0900 Subject: [PATCH 24/32] Remove 'import this library with Eclipse' We use Android Studio now. --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 394605c..aab9a0b 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,6 @@ This is a screen shot of sample activity. How to use ------------- -*Import this library with Eclipse* - -There's a issue with Eclipse when using `Existing Android Code Into Workspace.` (It' s a known bug with Eclipse.) Use `Existing Projects Into Workspace` instead. It works perfectly. - *To run Sample App.* 1. clone project. From a6e35203cb57a5aad48f8abd0dbb1158e8593715 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sun, 8 Feb 2015 00:59:22 +0900 Subject: [PATCH 25/32] Updated AUTHORS.md --- AUTHORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.md b/AUTHORS.md index 5738d95..9429608 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -6,6 +6,7 @@ Keep the list sorted please. * Dane Lipscombe - dane at 77hz.jp * DongSoo Moon - donxu at naver.com * Feng Tao - stategrace2013 at gmail.com + * Jason Cao - mzule4j at gmail.com * Juyeong - juyeong9 at gmail.com * Leonardo TaeHwan Kim - liger745547 at gmail.com * Leonardo YongUk Kim - dalinaum at gmail.com From ce745f2142bb5c9afd2bc48dbad6041f7ee31e56 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Sun, 8 Feb 2015 01:52:21 +0900 Subject: [PATCH 26/32] Apply Material design. --- .../com/huewu/pla/sample/SampleActivity.java | 26 +- .../pla/sample/view/SlidingTabLayout.java | 315 ++++++++++++++++++ .../pla/sample/view/SlidingTabStrip.java | 224 +++++++++++++ sample/src/main/res/layout/sample_act.xml | 27 +- sample/src/main/res/values/styles.xml | 6 +- screenshot.png | Bin 84327 -> 146243 bytes 6 files changed, 572 insertions(+), 26 deletions(-) create mode 100644 sample/src/main/java/com/huewu/pla/sample/view/SlidingTabLayout.java create mode 100644 sample/src/main/java/com/huewu/pla/sample/view/SlidingTabStrip.java diff --git a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java index 92c16e3..9ae94f7 100644 --- a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java +++ b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java @@ -9,6 +9,7 @@ import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarActivity; +import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -18,8 +19,7 @@ import android.widget.ArrayAdapter; import com.huewu.pla.lib.MultiColumnListView; - -import java.util.Random; +import com.huewu.pla.sample.view.SlidingTabLayout; public class SampleActivity extends ActionBarActivity implements ActionBar.TabListener { private SectionsPagerAdapter mSectionsPagerAdapter; @@ -30,9 +30,8 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sample_act); - // Set up the action bar. - final ActionBar actionBar = getSupportActionBar(); - actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); @@ -40,21 +39,8 @@ protected void onCreate(Bundle savedInstanceState) { mViewPager = (ViewPager) findViewById(R.id.pager); mViewPager.setAdapter(mSectionsPagerAdapter); - mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { - @Override - public void onPageSelected(int position) { - actionBar.setSelectedNavigationItem(position); - } - }); - - for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) { - actionBar.addTab( - actionBar.newTab() - .setText(mSectionsPagerAdapter.getPageTitle(i)) - .setTabListener(this) - ); - } - + final SlidingTabLayout tabLayout = (SlidingTabLayout)findViewById(R.id.sliding_tabs); + tabLayout.setViewPager(mViewPager); } @Override diff --git a/sample/src/main/java/com/huewu/pla/sample/view/SlidingTabLayout.java b/sample/src/main/java/com/huewu/pla/sample/view/SlidingTabLayout.java new file mode 100644 index 0000000..a5d0b43 --- /dev/null +++ b/sample/src/main/java/com/huewu/pla/sample/view/SlidingTabLayout.java @@ -0,0 +1,315 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * 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. + */ + +package com.huewu.pla.sample.view; + +import android.content.Context; +import android.graphics.Typeface; +import android.os.Build; +import android.support.v4.view.PagerAdapter; +import android.support.v4.view.ViewPager; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.HorizontalScrollView; +import android.widget.TextView; + +/** + * To be used with ViewPager to provide a tab indicator component which give constant feedback as to + * the user's scroll progress. + *

+ * To use the component, simply add it to your view hierarchy. Then in your + * {@link android.app.Activity} or {@link android.support.v4.app.Fragment} call + * {@link #setViewPager(ViewPager)} providing it the ViewPager this layout is being used for. + *

+ * The colors can be customized in two ways. The first and simplest is to provide an array of colors + * via {@link #setSelectedIndicatorColors(int...)} and {@link #setDividerColors(int...)}. The + * alternative is via the {@link TabColorizer} interface which provides you complete control over + * which color is used for any individual position. + *

+ * The views used as tabs can be customized by calling {@link #setCustomTabView(int, int)}, + * providing the layout ID of your custom layout. + */ +public class SlidingTabLayout extends HorizontalScrollView { + + /** + * Allows complete control over the colors drawn in the tab layout. Set with + * {@link #setCustomTabColorizer(TabColorizer)}. + */ + public interface TabColorizer { + + /** + * @return return the color of the indicator used when {@code position} is selected. + */ + int getIndicatorColor(int position); + + /** + * @return return the color of the divider drawn to the right of {@code position}. + */ + int getDividerColor(int position); + + } + + private static final int TITLE_OFFSET_DIPS = 24; + private static final int TAB_VIEW_PADDING_DIPS = 16; + private static final int TAB_VIEW_TEXT_SIZE_SP = 12; + + private int mTitleOffset; + + private int mTabViewLayoutId; + private int mTabViewTextViewId; + + private ViewPager mViewPager; + private ViewPager.OnPageChangeListener mViewPagerPageChangeListener; + + private final SlidingTabStrip mTabStrip; + + public SlidingTabLayout(Context context) { + this(context, null); + } + + public SlidingTabLayout(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public SlidingTabLayout(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + // Disable the Scroll Bar + setHorizontalScrollBarEnabled(false); + // Make sure that the Tab Strips fills this View + setFillViewport(true); + + mTitleOffset = (int) (TITLE_OFFSET_DIPS * getResources().getDisplayMetrics().density); + + mTabStrip = new SlidingTabStrip(context); + addView(mTabStrip, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); + } + + /** + * Set the custom {@link TabColorizer} to be used. + *

+ * If you only require simple custmisation then you can use + * {@link #setSelectedIndicatorColors(int...)} and {@link #setDividerColors(int...)} to achieve + * similar effects. + */ + public void setCustomTabColorizer(TabColorizer tabColorizer) { + mTabStrip.setCustomTabColorizer(tabColorizer); + } + + /** + * Sets the colors to be used for indicating the selected tab. These colors are treated as a + * circular array. Providing one color will mean that all tabs are indicated with the same color. + */ + public void setSelectedIndicatorColors(int... colors) { + mTabStrip.setSelectedIndicatorColors(colors); + } + + /** + * Sets the colors to be used for tab dividers. These colors are treated as a circular array. + * Providing one color will mean that all tabs are indicated with the same color. + */ + public void setDividerColors(int... colors) { + mTabStrip.setDividerColors(colors); + } + + /** + * Set the {@link ViewPager.OnPageChangeListener}. When using {@link SlidingTabLayout} you are + * required to set any {@link ViewPager.OnPageChangeListener} through this method. This is so + * that the layout can update it's scroll position correctly. + * + * @see ViewPager#setOnPageChangeListener(ViewPager.OnPageChangeListener) + */ + public void setOnPageChangeListener(ViewPager.OnPageChangeListener listener) { + mViewPagerPageChangeListener = listener; + } + + /** + * Set the custom layout to be inflated for the tab views. + * + * @param layoutResId Layout id to be inflated + * @param textViewId id of the {@link TextView} in the inflated view + */ + public void setCustomTabView(int layoutResId, int textViewId) { + mTabViewLayoutId = layoutResId; + mTabViewTextViewId = textViewId; + } + + /** + * Sets the associated view pager. Note that the assumption here is that the pager content + * (number of tabs and tab titles) does not change after this call has been made. + */ + public void setViewPager(ViewPager viewPager) { + mTabStrip.removeAllViews(); + + mViewPager = viewPager; + if (viewPager != null) { + viewPager.setOnPageChangeListener(new InternalViewPagerListener()); + populateTabStrip(); + } + } + + /** + * Create a default view to be used for tabs. This is called if a custom tab view is not set via + * {@link #setCustomTabView(int, int)}. + */ + protected TextView createDefaultTabView(Context context) { + TextView textView = new TextView(context); + textView.setGravity(Gravity.CENTER); + textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, TAB_VIEW_TEXT_SIZE_SP); + textView.setTypeface(Typeface.DEFAULT_BOLD); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + // If we're running on Honeycomb or newer, then we can use the Theme's + // selectableItemBackground to ensure that the View has a pressed state + TypedValue outValue = new TypedValue(); + getContext().getTheme().resolveAttribute(android.R.attr.selectableItemBackground, + outValue, true); + textView.setBackgroundResource(outValue.resourceId); + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + // If we're running on ICS or newer, enable all-caps to match the Action Bar tab style + textView.setAllCaps(true); + } + + int padding = (int) (TAB_VIEW_PADDING_DIPS * getResources().getDisplayMetrics().density); + textView.setPadding(padding, padding, padding, padding); + + return textView; + } + + private void populateTabStrip() { + final PagerAdapter adapter = mViewPager.getAdapter(); + final View.OnClickListener tabClickListener = new TabClickListener(); + + for (int i = 0; i < adapter.getCount(); i++) { + View tabView = null; + TextView tabTitleView = null; + + if (mTabViewLayoutId != 0) { + // If there is a custom tab view layout id set, try and inflate it + tabView = LayoutInflater.from(getContext()).inflate(mTabViewLayoutId, mTabStrip, + false); + tabTitleView = (TextView) tabView.findViewById(mTabViewTextViewId); + } + + if (tabView == null) { + tabView = createDefaultTabView(getContext()); + } + + if (tabTitleView == null && TextView.class.isInstance(tabView)) { + tabTitleView = (TextView) tabView; + } + + tabTitleView.setText(adapter.getPageTitle(i)); + tabView.setOnClickListener(tabClickListener); + + mTabStrip.addView(tabView); + } + } + + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + + if (mViewPager != null) { + scrollToTab(mViewPager.getCurrentItem(), 0); + } + } + + private void scrollToTab(int tabIndex, int positionOffset) { + final int tabStripChildCount = mTabStrip.getChildCount(); + if (tabStripChildCount == 0 || tabIndex < 0 || tabIndex >= tabStripChildCount) { + return; + } + + View selectedChild = mTabStrip.getChildAt(tabIndex); + if (selectedChild != null) { + int targetScrollX = selectedChild.getLeft() + positionOffset; + + if (tabIndex > 0 || positionOffset > 0) { + // If we're not at the first child and are mid-scroll, make sure we obey the offset + targetScrollX -= mTitleOffset; + } + + scrollTo(targetScrollX, 0); + } + } + + private class InternalViewPagerListener implements ViewPager.OnPageChangeListener { + private int mScrollState; + + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + int tabStripChildCount = mTabStrip.getChildCount(); + if ((tabStripChildCount == 0) || (position < 0) || (position >= tabStripChildCount)) { + return; + } + + mTabStrip.onViewPagerPageChanged(position, positionOffset); + + View selectedTitle = mTabStrip.getChildAt(position); + int extraOffset = (selectedTitle != null) + ? (int) (positionOffset * selectedTitle.getWidth()) + : 0; + scrollToTab(position, extraOffset); + + if (mViewPagerPageChangeListener != null) { + mViewPagerPageChangeListener.onPageScrolled(position, positionOffset, + positionOffsetPixels); + } + } + + @Override + public void onPageScrollStateChanged(int state) { + mScrollState = state; + + if (mViewPagerPageChangeListener != null) { + mViewPagerPageChangeListener.onPageScrollStateChanged(state); + } + } + + @Override + public void onPageSelected(int position) { + if (mScrollState == ViewPager.SCROLL_STATE_IDLE) { + mTabStrip.onViewPagerPageChanged(position, 0f); + scrollToTab(position, 0); + } + + if (mViewPagerPageChangeListener != null) { + mViewPagerPageChangeListener.onPageSelected(position); + } + } + + } + + private class TabClickListener implements View.OnClickListener { + @Override + public void onClick(View v) { + for (int i = 0; i < mTabStrip.getChildCount(); i++) { + if (v == mTabStrip.getChildAt(i)) { + mViewPager.setCurrentItem(i); + return; + } + } + } + } + +} + diff --git a/sample/src/main/java/com/huewu/pla/sample/view/SlidingTabStrip.java b/sample/src/main/java/com/huewu/pla/sample/view/SlidingTabStrip.java new file mode 100644 index 0000000..4b80fc8 --- /dev/null +++ b/sample/src/main/java/com/huewu/pla/sample/view/SlidingTabStrip.java @@ -0,0 +1,224 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * 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. + */ + +/* + * Copyright (C) 2013 The Android Open Source Project + * + * 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. + */ + +package com.huewu.pla.sample.view; + +import android.R; +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Color; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.view.View; +import android.widget.LinearLayout; + +class SlidingTabStrip extends LinearLayout { + + private static final int DEFAULT_BOTTOM_BORDER_THICKNESS_DIPS = 2; + private static final byte DEFAULT_BOTTOM_BORDER_COLOR_ALPHA = 0x26; + private static final int SELECTED_INDICATOR_THICKNESS_DIPS = 8; + private static final int DEFAULT_SELECTED_INDICATOR_COLOR = 0xFF33B5E5; + + private static final int DEFAULT_DIVIDER_THICKNESS_DIPS = 1; + private static final byte DEFAULT_DIVIDER_COLOR_ALPHA = 0x20; + private static final float DEFAULT_DIVIDER_HEIGHT = 0.5f; + + private final int mBottomBorderThickness; + private final Paint mBottomBorderPaint; + + private final int mSelectedIndicatorThickness; + private final Paint mSelectedIndicatorPaint; + + private final int mDefaultBottomBorderColor; + + private final Paint mDividerPaint; + private final float mDividerHeight; + + private int mSelectedPosition; + private float mSelectionOffset; + + private SlidingTabLayout.TabColorizer mCustomTabColorizer; + private final SimpleTabColorizer mDefaultTabColorizer; + + SlidingTabStrip(Context context) { + this(context, null); + } + + SlidingTabStrip(Context context, AttributeSet attrs) { + super(context, attrs); + setWillNotDraw(false); + + final float density = getResources().getDisplayMetrics().density; + + TypedValue outValue = new TypedValue(); + context.getTheme().resolveAttribute(R.attr.colorForeground, outValue, true); + final int themeForegroundColor = outValue.data; + + mDefaultBottomBorderColor = setColorAlpha(themeForegroundColor, + DEFAULT_BOTTOM_BORDER_COLOR_ALPHA); + + mDefaultTabColorizer = new SimpleTabColorizer(); + mDefaultTabColorizer.setIndicatorColors(DEFAULT_SELECTED_INDICATOR_COLOR); + mDefaultTabColorizer.setDividerColors(setColorAlpha(themeForegroundColor, + DEFAULT_DIVIDER_COLOR_ALPHA)); + + mBottomBorderThickness = (int) (DEFAULT_BOTTOM_BORDER_THICKNESS_DIPS * density); + mBottomBorderPaint = new Paint(); + mBottomBorderPaint.setColor(mDefaultBottomBorderColor); + + mSelectedIndicatorThickness = (int) (SELECTED_INDICATOR_THICKNESS_DIPS * density); + mSelectedIndicatorPaint = new Paint(); + + mDividerHeight = DEFAULT_DIVIDER_HEIGHT; + mDividerPaint = new Paint(); + mDividerPaint.setStrokeWidth((int) (DEFAULT_DIVIDER_THICKNESS_DIPS * density)); + } + + void setCustomTabColorizer(SlidingTabLayout.TabColorizer customTabColorizer) { + mCustomTabColorizer = customTabColorizer; + invalidate(); + } + + void setSelectedIndicatorColors(int... colors) { + // Make sure that the custom colorizer is removed + mCustomTabColorizer = null; + mDefaultTabColorizer.setIndicatorColors(colors); + invalidate(); + } + + void setDividerColors(int... colors) { + // Make sure that the custom colorizer is removed + mCustomTabColorizer = null; + mDefaultTabColorizer.setDividerColors(colors); + invalidate(); + } + + void onViewPagerPageChanged(int position, float positionOffset) { + mSelectedPosition = position; + mSelectionOffset = positionOffset; + invalidate(); + } + + @Override + protected void onDraw(Canvas canvas) { + final int height = getHeight(); + final int childCount = getChildCount(); + final int dividerHeightPx = (int) (Math.min(Math.max(0f, mDividerHeight), 1f) * height); + final SlidingTabLayout.TabColorizer tabColorizer = mCustomTabColorizer != null + ? mCustomTabColorizer + : mDefaultTabColorizer; + + // Thick colored underline below the current selection + if (childCount > 0) { + View selectedTitle = getChildAt(mSelectedPosition); + int left = selectedTitle.getLeft(); + int right = selectedTitle.getRight(); + int color = tabColorizer.getIndicatorColor(mSelectedPosition); + + if (mSelectionOffset > 0f && mSelectedPosition < (getChildCount() - 1)) { + int nextColor = tabColorizer.getIndicatorColor(mSelectedPosition + 1); + if (color != nextColor) { + color = blendColors(nextColor, color, mSelectionOffset); + } + + // Draw the selection partway between the tabs + View nextTitle = getChildAt(mSelectedPosition + 1); + left = (int) (mSelectionOffset * nextTitle.getLeft() + + (1.0f - mSelectionOffset) * left); + right = (int) (mSelectionOffset * nextTitle.getRight() + + (1.0f - mSelectionOffset) * right); + } + + mSelectedIndicatorPaint.setColor(color); + + canvas.drawRect(left, height - mSelectedIndicatorThickness, right, + height, mSelectedIndicatorPaint); + } + + // Thin underline along the entire bottom edge + canvas.drawRect(0, height - mBottomBorderThickness, getWidth(), height, mBottomBorderPaint); + + // Vertical separators between the titles + int separatorTop = (height - dividerHeightPx) / 2; + for (int i = 0; i < childCount - 1; i++) { + View child = getChildAt(i); + mDividerPaint.setColor(tabColorizer.getDividerColor(i)); + canvas.drawLine(child.getRight(), separatorTop, child.getRight(), + separatorTop + dividerHeightPx, mDividerPaint); + } + } + + /** + * Set the alpha value of the {@code color} to be the given {@code alpha} value. + */ + private static int setColorAlpha(int color, byte alpha) { + return Color.argb(alpha, Color.red(color), Color.green(color), Color.blue(color)); + } + + /** + * Blend {@code color1} and {@code color2} using the given ratio. + * + * @param ratio of which to blend. 1.0 will return {@code color1}, 0.5 will give an even blend, + * 0.0 will return {@code color2}. + */ + private static int blendColors(int color1, int color2, float ratio) { + final float inverseRation = 1f - ratio; + float r = (Color.red(color1) * ratio) + (Color.red(color2) * inverseRation); + float g = (Color.green(color1) * ratio) + (Color.green(color2) * inverseRation); + float b = (Color.blue(color1) * ratio) + (Color.blue(color2) * inverseRation); + return Color.rgb((int) r, (int) g, (int) b); + } + + private static class SimpleTabColorizer implements SlidingTabLayout.TabColorizer { + private int[] mIndicatorColors; + private int[] mDividerColors; + + @Override + public final int getIndicatorColor(int position) { + return mIndicatorColors[position % mIndicatorColors.length]; + } + + @Override + public final int getDividerColor(int position) { + return mDividerColors[position % mDividerColors.length]; + } + + void setIndicatorColors(int... colors) { + mIndicatorColors = colors; + } + + void setDividerColors(int... colors) { + mDividerColors = colors; + } + } +} diff --git a/sample/src/main/res/layout/sample_act.xml b/sample/src/main/res/layout/sample_act.xml index 61ce7b9..56d7142 100644 --- a/sample/src/main/res/layout/sample_act.xml +++ b/sample/src/main/res/layout/sample_act.xml @@ -1,5 +1,24 @@ - + + android:layout_height="match_parent" + android:orientation="vertical"> + + + + + + + + \ No newline at end of file diff --git a/sample/src/main/res/values/styles.xml b/sample/src/main/res/values/styles.xml index 766ab99..8f6ad3b 100644 --- a/sample/src/main/res/values/styles.xml +++ b/sample/src/main/res/values/styles.xml @@ -1,8 +1,10 @@ - diff --git a/screenshot.png b/screenshot.png index 726acc2054c6c995c56fffdf202ad3213e98c8e5..5755074295b9c4de5b58d0e156b9754cf14d657a 100644 GIT binary patch literal 146243 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⃥u~r$z^lJh7p=Mi!GerjAL2a1 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 literal 84327 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

A0g6 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%0AnVXt+oHfXhtx%b(J8gn1gUx|(nrG&c5|cbt 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 J1@8>J|39ATi3 Date: Sun, 8 Feb 2015 02:00:14 +0900 Subject: [PATCH 27/32] resize screenshot. --- screenshot.png | Bin 146243 -> 101574 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshot.png b/screenshot.png index 5755074295b9c4de5b58d0e156b9754cf14d657a..cbda31f4c9984956437652a50205bdd52a2af55c 100644 GIT binary patch literal 101574 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 literal 146243 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⃥u~r$z^lJh7p=Mi!GerjAL2a1 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 From 38875a5cee05701b4b329e0876551cac9f47077d Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Tue, 10 Feb 2015 17:32:34 +0900 Subject: [PATCH 28/32] Remove unnecessay TabListener. --- .../com/huewu/pla/sample/SampleActivity.java | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java index 9ae94f7..079d5e6 100644 --- a/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java +++ b/sample/src/main/java/com/huewu/pla/sample/SampleActivity.java @@ -21,7 +21,7 @@ import com.huewu.pla.lib.MultiColumnListView; import com.huewu.pla.sample.view.SlidingTabLayout; -public class SampleActivity extends ActionBarActivity implements ActionBar.TabListener { +public class SampleActivity extends ActionBarActivity { private SectionsPagerAdapter mSectionsPagerAdapter; private ViewPager mViewPager; @@ -43,20 +43,6 @@ protected void onCreate(Bundle savedInstanceState) { tabLayout.setViewPager(mViewPager); } - @Override - public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { - mViewPager.setCurrentItem(tab.getPosition()); - } - - @Override - public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { - } - - @Override - public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { - } - - public class SectionsPagerAdapter extends FragmentPagerAdapter { public SectionsPagerAdapter(FragmentManager fm) { From e07b4fdcdbe668d9b4f1e4d666e2a64eb22eb477 Mon Sep 17 00:00:00 2001 From: Leonardo YongUk Kim Date: Thu, 5 Mar 2015 14:03:58 +0900 Subject: [PATCH 29/32] Update README.md Pull to request is unavailable now. --- README.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/README.md b/README.md index aab9a0b..74e5f8e 100644 --- a/README.md +++ b/README.md @@ -32,21 +32,12 @@ How to use 2. run on your android phone. - 3. in option menu, you can add items or lunch pull-to-refresh sample. - - *To use Pinterest Like Multi Column View.* 1. check this project as library project. 2. MultiColumListView is the view what you need. -*To use pull-to-refresh features.* - - 1. check this project as library project. - - 2. MultiColumnPullToRefreshListView class in extra folder is what you need. - Attributes ----------- * **plaColumnNumber** From ce6f5ad64ec8aa33311dc3154ffa28a8bc88f398 Mon Sep 17 00:00:00 2001 From: "Making GitHub Delicious." Date: Sun, 26 Jul 2015 00:56:59 -0600 Subject: [PATCH 30/32] add waffle.io badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 74e5f8e..797a678 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Stories in Ready](https://badge.waffle.io/GDG-Korea/PinterestLikeAdapterView.png?label=ready&title=Ready)](https://waffle.io/GDG-Korea/PinterestLikeAdapterView) PLA(PinterestLikeAdapterView) ================================== From 29697e2c24d4eb83ec5d752b6f0db3706b500bb1 Mon Sep 17 00:00:00 2001 From: LYK Date: Sun, 26 Jul 2015 16:05:43 +0900 Subject: [PATCH 31/32] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 797a678..f3eb05c 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ -[![Stories in Ready](https://badge.waffle.io/GDG-Korea/PinterestLikeAdapterView.png?label=ready&title=Ready)](https://waffle.io/GDG-Korea/PinterestLikeAdapterView) PLA(PinterestLikeAdapterView) ================================== -Branch **Master**: [![Build Status](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView.png?branch=master)](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView) +[![Build Status](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView.png?branch=master)](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView)[![Stories in Ready](https://badge.waffle.io/GDG-Korea/PinterestLikeAdapterView.png?label=ready&title=Ready)](https://waffle.io/GDG-Korea/PinterestLikeAdapterView) Open source project in order to implement pinterest like list view on android. (You can check how [pinterest app](https://play.google.com/store/apps/details?id=com.pinterest) looks like form) From 39c00e13e45551eaf97da3dd787f8eaa25c84353 Mon Sep 17 00:00:00 2001 From: LYK Date: Tue, 8 Aug 2017 17:16:14 +0900 Subject: [PATCH 32/32] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f3eb05c..da5fcc8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -PLA(PinterestLikeAdapterView) +[Deprecated] PLA(PinterestLikeAdapterView) ================================== +**Deprecated**: This project is not maintaned anymore. Thanks. + [![Build Status](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView.png?branch=master)](https://travis-ci.org/GDG-Korea/PinterestLikeAdapterView)[![Stories in Ready](https://badge.waffle.io/GDG-Korea/PinterestLikeAdapterView.png?label=ready&title=Ready)](https://waffle.io/GDG-Korea/PinterestLikeAdapterView) Open source project in order to implement pinterest like list view on android. (You can check how [pinterest app](https://play.google.com/store/apps/details?id=com.pinterest) looks like form)