package com.yaoyumeng.v2ex.ui.social;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.yaoyumeng.v2ex.R;
public class CommonDialog extends Dialog {
protected FrameLayout container;
protected View content;
protected int contentPadding;
protected TextView headerVw;
public CommonDialog(Context context) {
super(context);
init(context);
}
public CommonDialog(Context context, int defStyle) {
super(context, defStyle);
contentPadding = (int) getContext().getResources().getDimension(
R.dimen.global_dialog_padding);
init(context);
}
protected void init(final Context context) {
setCancelable(false);
requestWindowFeature(Window.FEATURE_NO_TITLE);
content = LayoutInflater.from(context).inflate(
R.layout.dialog_common, null);
headerVw = (TextView) content.findViewById(R.id.dialog_header);
container = (FrameLayout) content.findViewById(R.id.content_container);
super.setContentView(content);
}
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
}
@Override
public void onBackPressed() {
super.onBackPressed();
this.dismiss();
}
public void setContent(View view) {
setContent(view, contentPadding);
}
public void setContent(View view, int padding) {
container.removeAllViews();
container.setPadding(padding, padding, padding, padding);
FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT);
container.addView(view, lp);
}
@Override
public void setContentView(int i) {
setContent(null);
}
@Override
public void setContentView(View view) {
setContentView(null, null);
}
@Override
public void setContentView(View view,
LayoutParams layoutparams) {
throw new Error("Dialog: User setContent (View view) instead!");
}
@Override
public void setTitle(int title) {
setTitle((getContext().getResources().getString(title)));
}
@Override
public void setTitle(CharSequence title) {
if (title != null && title.length() > 0) {
headerVw.setText(title);
headerVw.setVisibility(View.VISIBLE);
} else {
headerVw.setVisibility(View.GONE);
}
}
}