package in.srain.cube.demo.ui.fragment; import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ScrollView; import in.srain.cube.demo.R; import in.srain.cube.mints.base.BlockMenuFragment; 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.header.StoreHouseHeader; public abstract class DemoBlockMenuFragment extends BlockMenuFragment { private ScrollView mScrollView; @Override protected int getLayoutId() { return R.layout.fragment_cube_app_home; } @Override protected View createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = super.createView(inflater, container, savedInstanceState); mScrollView = (ScrollView) view.findViewById(R.id.fragment_cube_app_home_scroll_view); view.setBackgroundColor(getResources().getColor(R.color.cube_mints_333333)); final PtrFrameLayout ptrFrameLayout = (PtrFrameLayout) view.findViewById(R.id.fragment_cube_app_home_ptr_frame); StoreHouseHeader header = new StoreHouseHeader(getContext()); header.setPadding(0, LocalDisplay.dp2px(20), 0, LocalDisplay.dp2px(20)); header.initWithString(getString(R.string.cube_demo_home_title)); ptrFrameLayout.setDurationToCloseHeader(1500); ptrFrameLayout.setHeaderView(header); ptrFrameLayout.addPtrUIHandler(header); ptrFrameLayout.setPtrHandler(new PtrHandler() { @Override public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) { if (Build.VERSION.SDK_INT >= 14) { boolean ret = mScrollView.canScrollVertically(-1); return ret; } return false; } @Override public void onRefreshBegin(PtrFrameLayout frame) { ptrFrameLayout.postDelayed(new Runnable() { @Override public void run() { ptrFrameLayout.refreshComplete(); } }, 1500); } }); return view; } @Override protected boolean enableDefaultBack() { return true; } }