自定义类

public class MyDialog_diy extends Dialog {
private Button yes;//确定按钮
private Button no;//取消按钮
private TextView titleTV;//消息标题文本
private TextView message;//消息提示文本
private String titleStr;//从外界设置的title文本
private String messageStr;//从外界设置的消息文本
private String yesStr, noStr;//确定文本和取消文本的显示的内容
private onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器
private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器

public MyDialog_diy(Context context, int themeResId) {
super(context, themeResId);

WindowManager windowManager = getWindow().getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.width=display.getWidth()*4/5;
getWindow().setAttributes(layoutParams);
}

public MyDialog_diy(Context context) {
super(context);
//去掉默认的标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
}
/**
* 设置取消按钮的显示内容和监听
*
* @param str
* @param onclickListener
*/
public void setNoOnclickListener(String str,onNoOnclickListener onclickListener){
if (str!=null){
noStr=str;
}
this.noOnclickListener=onclickListener;
}
/**
* 设置确定按钮的显示内容和监听
*
* @param str
* @param onclickListener
*/
public void setYesOnclickListener(String str,onYesOnclickListener onclickListener){
if (str!=null){
yesStr=str;
}
this.yesOnclickListener=onclickListener;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zidingyi_dialog);
//空白处不能取消动画
setCanceledOnTouchOutside(false);

//初始化界面控件
initView();
//初始化界面数据
iniytData();
//初始化界面控件的事件
initEvent();
}
private void initView(){
yes=findViewById(R.id.yes);
no=findViewById(R.id.no);
titleTV = findViewById(R.id.title);
message = findViewById(R.id.message);
}
/**
* 初始化界面控件的显示数据
*/
private void iniytData(){
if (titleStr!=null){
titleTV.setText(titleStr);
}
if (messageStr!=null){
message.setText(messageStr);
}
if (yesStr!=null){
yes.setText(yesStr);
}
if (noStr!=null){
no.setText(noStr);
}
}
/**
* 初始化界面的确定和取消监听
*/
private void initEvent(){
//设置确定按钮被点击后,向外界提供监听
yes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (yesOnclickListener!=null){
yesOnclickListener.onYesOnclick();
}
}
});
//设置取消按钮被点击后,向外界提供监听
no.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (noOnclickListener!=null){
noOnclickListener.onNoclick();
}
}
});
}
/**
* 从外界Activity为Dialog设置标题
*
* @param title
*/
public void setTitle(String title){
titleStr=title;
}
public void setMessage(String message){
messageStr=message;
}
public interface onNoOnclickListener{
public void onNoclick();
}
public interface onYesOnclickListener{
public void onYesOnclick(http://www.my516.com/heimitao/);
}
}
--------------------- 

posted @ 2019-08-01 19:28  李艳艳665  阅读(180)  评论(0编辑  收藏  举报