public class QuickOptionDialog extends Dialog implements
android.view.View.OnClickListener {
private ImageView mClose;
public interface OnQuickOptionformClick {
void onQuickOptionClick(int id);
}
private OnQuickOptionformClick mListener;
private LinearLayout ly_quick_option_text;
@SuppressLint("InflateParams")
private QuickOptionDialog(Context context, int defStyle) {
super(context, defStyle);
View contentView = getLayoutInflater().inflate(
R.layout.dialog_quick_option, null);
mClose = (ImageView) contentView.findViewById(R.id.iv_close);
ly_quick_option_text = (LinearLayout) contentView.findViewById(R.id.ly_quick_option_text);
ly_quick_option_text.setOnClickListener(this);
Animation operatingAnim = AnimationUtils.loadAnimation(getContext(),
R.anim.quick_option_close);
LinearInterpolator lin = new LinearInterpolator();
operatingAnim.setInterpolator(lin);
mClose.startAnimation(operatingAnim);
mClose.setOnClickListener(this);
// 去掉标题,必须在setContentView之前调用
requestWindowFeature(Window.FEATURE_NO_TITLE);
contentView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
QuickOptionDialog.this.dismiss();
return true;
}
});
setContentView(contentView);
// 设置Dialog的宽度等于屏幕的宽度,必须在setContentView后调用
WindowManager.LayoutParams p = getWindow().getAttributes();
p.width = WindowManager.LayoutParams.MATCH_PARENT;
getWindow().setAttributes(p);
}
public QuickOptionDialog(Context context) {
this(context, R.style.quick_option_dialog);
}
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
// 让Dialog显示在底部
getWindow().setGravity(Gravity.BOTTOM);
}
public void setOnQuickOptionformClickListener(OnQuickOptionformClick lis) {
mListener = lis;
}
@Override
public void onClick(View v) {
final int id = v.getId();
switch (id) {
case R.id.iv_close:
dismiss();
break;
case R.id.ly_quick_option_text:
getContext().startActivity(new Intent(getContext(),NewsDetailActivity.class));
dismiss();
default:
break;
}
}
}
1094

被折叠的 条评论
为什么被折叠?



