package net.coding.program.project.detail;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.TypedValue;
import net.coding.program.R;
import net.coding.program.common.ui.BaseFragment;
import net.coding.program.model.ProjectObject;
import net.coding.program.third.WechatTab;
import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.EFragment;
import org.androidannotations.annotations.FragmentArg;
import org.androidannotations.annotations.ViewById;
import org.androidannotations.annotations.res.StringArrayRes;
@EFragment(R.layout.fragment_project_dynamic_parent)
public class ProjectDynamicParentFragment extends BaseFragment {
@FragmentArg
ProjectObject mProjectObject;
@ViewById
WechatTab tabs;
@ViewById(R.id.pagerFragmentProgram)
ViewPager pager;
@StringArrayRes
String[] dynamic_type;
@StringArrayRes
String[] dynamic_type_params;
@StringArrayRes
String[] dynamic_type_public;
@StringArrayRes
String[] dynamic_type_public_params;
@AfterViews
protected void init() {
String[] title = dynamic_type;
String[] titleParams = dynamic_type_params;
if (mProjectObject.isPublic()) {
title = dynamic_type_public;
titleParams = dynamic_type_public_params;
}
DynamicPagerAdapter adapter = new DynamicPagerAdapter(getChildFragmentManager(), title, titleParams);
pager.setAdapter(adapter);
int pageMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources()
.getDisplayMetrics());
pager.setPageMargin(pageMargin);
tabs.setViewPager(pager);
// tabs.setUnderlinePadding0();
}
class DynamicPagerAdapter extends FragmentStatePagerAdapter {
String[] mTitles;
String[] mParams;
DynamicPagerAdapter(FragmentManager fm, String[] titles, String[] params) {
super(fm);
mTitles = titles;
mParams = params;
}
@Override
public CharSequence getPageTitle(int position) {
return mTitles[position];
}
@Override
public android.support.v4.app.Fragment getItem(int position) {
return ProjectDynamicFragment_.builder()
.mProjectObject(mProjectObject)
.mType(mParams[position])
.build();
}
@Override
public int getCount() {
return mParams.length;
}
}
;
}