package in.srain.cube.views.ptr.demo.ui;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
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.demo.R;
import in.srain.cube.views.ptr.demo.ui.classic.*;
import in.srain.cube.views.ptr.demo.ui.storehouse.StoreHouseUsingStringArray;
import in.srain.cube.views.ptr.demo.ui.storehouse.StoreHouseUsingString;
import in.srain.cube.views.ptr.header.StoreHouseHeader;
import java.util.ArrayList;
public class HomeFragment extends BlockMenuFragment {
@Override
protected void addItemInfo(ArrayList<BlockMenuFragment.ItemInfo> itemInfos) {
// GridView
itemInfos.add(newItemInfo(R.string.ptr_demo_block_grid_view, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(WithGridView.class, null);
}
}));
itemInfos.add(newItemInfo(R.string.ptr_demo_block_frame_layout, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(WithTextViewInFrameLayoutFragment.class, null);
}
}));
itemInfos.add(newItemInfo(R.string.ptr_demo_block_only_text_view, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(EvenOnlyATextView.class, null);
}
}));
itemInfos.add(newItemInfo(R.string.ptr_demo_block_keep_header, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(KeepHeader.class, null);
}
}));
itemInfos.add(newItemInfo(R.string.ptr_demo_block_hide_header, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(HideHeader.class, null);
}
}));
itemInfos.add(null);
itemInfos.add(newItemInfo(R.string.ptr_demo_block_release_to_refresh, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(ReleaseToRefresh.class, null);
}
}));
itemInfos.add(newItemInfo(R.string.ptr_demo_block_pull_to_refresh, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(PullToRefresh.class, null);
}
}));
itemInfos.add(newItemInfo(R.string.ptr_demo_block_auto_fresh, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(AutoRefresh.class, null);
}
}));
/*
itemInfos.add(newItemInfo(R.string.ptr_demo_title_with_long_press, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(WithLongPressFragment.class, null);
}
}));
*/
itemInfos.add(newItemInfo(R.string.ptr_demo_block_storehouse_header_using_string_array, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(StoreHouseUsingStringArray.class, null);
}
}));
itemInfos.add(newItemInfo(R.string.ptr_demo_block_storehouse_header_using_string, R.color.cube_mints_4d90fe, new OnClickListener() {
@Override
public void onClick(View v) {
getContext().pushFragmentToBackStack(StoreHouseUsingString.class, null);
}
}));
}
@Override
protected View createView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.createView(inflater, container, savedInstanceState);
view.setBackgroundColor(getResources().getColor(R.color.cube_mints_333333));
final PtrFrameLayout ptrFrameLayout = (PtrFrameLayout) view.findViewById(R.id.fragment_ptr_home_ptr_frame);
StoreHouseHeader header = new StoreHouseHeader(getContext());
header.setPadding(0, LocalDisplay.dp2px(20), 0, LocalDisplay.dp2px(20));
header.initWithString("Ultra PTR");
ptrFrameLayout.setDurationToCloseHeader(3000);
ptrFrameLayout.setHeaderView(header);
ptrFrameLayout.addPtrUIHandler(header);
ptrFrameLayout.setPtrHandler(new PtrHandler() {
@Override
public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {
return true;
}
@Override
public void onRefreshBegin(PtrFrameLayout frame) {
ptrFrameLayout.postDelayed(new Runnable() {
@Override
public void run() {
ptrFrameLayout.refreshComplete();
}
}, 1500);
}
});
return view;
}
@Override
protected int getLayoutId() {
return R.layout.fragmengt_ptr_home;
}
@Override
protected void setupViews() {
setHeaderTitle(R.string.ptr_demo_block_for_home);
}
}