附上自定义的dialog的代码:
package com.example.zegochatroom.roomchatActivity.popdialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import com.example.zegochatroom.R;
public class GiftPopDialog extends Dialog {
private boolean isCancelable;//控制点击dialog外部是否dismiss
private boolean isBackCancelable;//控制返回键是否dismiss
private int viewID;
private Context context;
public GiftPopDialog(Context context, int viewID, boolean isCancelable,boolean isBackCancelable) {
super(context, R.style.MyDialog);
this.context = context;
this.viewID = viewID;
this.isCancelable = isCancelable;
this.isBackCancelable = isBackCancelable;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(viewID);//这行一定要写在前面
setCancelable(isCancelable);//点击外部不可dismiss
setCanceledOnTouchOutside(isBackCancelable);
Window window = this.getWindow();
window.setGravity(Gravity.BOTTOM);
WindowManager.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(params);
}
}
但是我报出了这样的一个错误:
一开始,我调用的调用这个的代码如下:
GiftPopDialog giftPopDialog = new GiftPopDialog(MyApplication.getContext(),R.layout.pop_gift,false,true);
giftPopDialog.show();
这个是错误的,没有一个具体的window告诉这个的代码应该怎么做,所以他就崩了!
正确的如下:
GiftPopDialog giftPopDialog = new GiftPopDialog(RoombaseActivity.this,R.layout.pop_gift,false,true);
giftPopDialog.show();



