Back to project page Easy-PullToRefresh-Android.
The source code is released under:
Copyright (c) 2013 neevek <i@neevek.net> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in ...
If you think the Android project Easy-PullToRefresh-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package net.neevek.android.demo.ptr; //from ww w.j a v a2s .c o m import android.content.Context; import android.os.Build; import android.util.AttributeSet; import android.view.ViewTreeObserver; import android.widget.FrameLayout; import android.widget.ProgressBar; import android.widget.TextView; import net.neevek.android.lib.ptr.OverScrollListView; /** * @author neevek <i@neevek.net> * * The default implementation of a pull-to-load-more footer view for OverScrollListView. * this can be taken as an implementation reference. */ public class PullToLoadMoreFooterView extends FrameLayout implements OverScrollListView.PullToLoadMoreCallback { private TextView mTvLoadMore; private ProgressBar mProgressBar; private String mPullText = "Pull to load more"; private String mClickText = "Click to load more"; private String mReleaseText = "Release to load more"; private String mLoadingText = "Loading..."; public PullToLoadMoreFooterView(Context context) { super(context); } public PullToLoadMoreFooterView(Context context, AttributeSet attrs) { super(context, attrs); } public PullToLoadMoreFooterView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onFinishInflate() { ensuresLoadMoreViewsAvailability(); } private void ensuresLoadMoreViewsAvailability() { if (mTvLoadMore == null) { mTvLoadMore = (TextView)findViewById(R.id.tv_load_more); mTvLoadMore.setText(mClickText); } if (mProgressBar == null) { mProgressBar = (ProgressBar)findViewById(R.id.pb_loading); } } @Override public void onReset() { ensuresLoadMoreViewsAvailability(); getChildAt(0).setVisibility(VISIBLE); } @Override public void onStartPulling() { ensuresLoadMoreViewsAvailability(); mTvLoadMore.setText(mPullText); } @Override public void onCancelPulling() { ensuresLoadMoreViewsAvailability(); mTvLoadMore.setText(mClickText); } @Override public void onReachAboveRefreshThreshold() { mTvLoadMore.setText(mReleaseText); } @Override public void onReachBelowRefreshThreshold() { onStartPulling(); } @Override public void onStartLoadingMore() { ensuresLoadMoreViewsAvailability(); mProgressBar.setVisibility(VISIBLE); mTvLoadMore.setText(mLoadingText); } @Override public void onEndLoadingMore() { mProgressBar.setVisibility(GONE); mTvLoadMore.setText(mClickText); } @Override public void setVisibility(int visibility) { super.setVisibility(visibility); getChildAt(0).setVisibility(visibility); } public void setPullText(String pullText) { mPullText = pullText; } public void setClickText(String clickText) { mClickText = clickText; } public void setReleaseText(String releaseText) { mReleaseText = releaseText; } public void setLoadingText(String loadingText) { mLoadingText = loadingText; } }