package in.srain.cube.views.ptr.demo.ui.storehouse; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import in.srain.cube.image.CubeImageView; import in.srain.cube.image.ImageLoader; import in.srain.cube.image.ImageLoaderFactory; import in.srain.cube.mints.base.TitleBaseFragment; import in.srain.cube.util.Debug; import in.srain.cube.util.LocalDisplay; import in.srain.cube.views.ptr.PtrFrameLayout; import in.srain.cube.views.ptr.PtrHandler; import in.srain.cube.views.ptr.PtrUIHandler; import in.srain.cube.views.ptr.demo.R; import in.srain.cube.views.ptr.header.StoreHouseHeader; public class StoreHouseUsingString extends TitleBaseFragment { final String[] mStringList = {"Alibaba", "TMALL 11-11"}; private String mTitlePre; @Override protected View createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_storehouse_header, null); mTitlePre = getString(R.string.ptr_demo_storehouse_header_using_string_in_title); CubeImageView imageView = (CubeImageView) view.findViewById(R.id.store_house_ptr_image); ImageLoader imageLoader = ImageLoaderFactory.create(getContext()); String pic = "http://img5.duitang.com/uploads/item/201406/28/20140628122218_fLQyP.thumb.jpeg"; imageView.loadImage(imageLoader, pic); final PtrFrameLayout frame = (PtrFrameLayout) view.findViewById(R.id.store_house_ptr_frame); // header final StoreHouseHeader header = new StoreHouseHeader(getContext()); header.setPadding(0, LocalDisplay.dp2px(15), 0, 0); /** * using a string, support: A-Z 0-9 - . * you can add more letters by {@link in.srain.cube.views.ptr.header.StoreHousePath#addChar} */ header.initWithString(mStringList[0]); setHeaderTitle(mTitlePre + mStringList[0]); // for changing string frame.addPtrUIHandler(new PtrUIHandler() { private int mLoadTime = 0; @Override public void onUIReset(PtrFrameLayout frame) { mLoadTime++; String string = mStringList[mLoadTime % mStringList.length]; header.initWithString(string); } @Override public void onUIRefreshPrepare(PtrFrameLayout frame) { String string = mStringList[mLoadTime % mStringList.length]; setHeaderTitle(mTitlePre + string); } @Override public void onUIRefreshBegin(PtrFrameLayout frame) { } @Override public void onUIRefreshComplete(PtrFrameLayout frame) { } @Override public void onUIPositionChange(PtrFrameLayout frame, boolean isUnderTouch, byte status, int oldPosition, int currentPosition, float oldPercent, float currentPercent) { } }); frame.setDurationToCloseHeader(3000); frame.setHeaderView(header); frame.addPtrUIHandler(header); frame.postDelayed(new Runnable() { @Override public void run() { frame.autoRefresh(false); } }, 100); frame.setPtrHandler(new PtrHandler() { @Override public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) { return true; } @Override public void onRefreshBegin(final PtrFrameLayout frame) { frame.postDelayed(new Runnable() { @Override public void run() { frame.refreshComplete(); } }, 2000); } }); return view; } }