package in.srain.cube.mints.base;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import in.srain.cube.R;
import in.srain.cube.app.CubeFragment;
/**
* <a href="http://www.liaohuqiu.net/unified-title-header/">http://www.liaohuqiu.net/unified-title-header/</a>
*
* @author http://www.liaohuqiu.net
*/
public abstract class TitleBaseFragment extends CubeFragment {
protected TitleHeaderBar mTitleHeaderBar;
protected LinearLayout mContentContainer;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
ViewGroup view = (ViewGroup) inflater.inflate(R.layout.cube_mints_base_content_frame_with_title_header, null);
LinearLayout contentContainer = (LinearLayout) view.findViewById(R.id.cube_mints_content_frame_content);
mTitleHeaderBar = (TitleHeaderBar) view.findViewById(R.id.cube_mints_content_frame_title_header);
if (enableDefaultBack()) {
mTitleHeaderBar.setLeftOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
} else {
mTitleHeaderBar.getLeftViewContainer().setVisibility(View.INVISIBLE);
}
mContentContainer = contentContainer;
View contentView = createView(inflater, view, savedInstanceState);
contentView.setLayoutParams(new LinearLayout.LayoutParams(-1, -1));
contentContainer.addView(contentView);
return view;
}
/**
* make it looks like Activity
*/
private void onBackPressed() {
getContext().onBackPressed();
}
protected boolean enableDefaultBack() {
return true;
}
protected void setHeaderTitle(int id) {
mTitleHeaderBar.getTitleTextView().setText(id);
}
protected void setHeaderTitle(String title) {
mTitleHeaderBar.getTitleTextView().setText(title);
}
public TitleHeaderBar getTitleHeaderBar() {
return mTitleHeaderBar;
}
}