先上效果图:
dialog类:
package com.yqy.yqy_dialogtest;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MyDialog extends Dialog implements android.view.View.OnClickListener{
Context context;
public MyDialog(Context context, int theme) {
super(context, theme);
this.context = context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mydialog);
//布局
// TextView tv_title = (TextView) findViewById(R.id.tv_title);
// TextView tv_content = (TextView) findViewById(R.id.tv_content);
Button btn_yes = (Button) findViewById(R.id.btn_yes);
Button btn_no = (Button) findViewById(R.id.btn_no);
btn_yes.setOnClickListener(this);
btn_no.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_yes:
onClose();
break;
case R.id.btn_no:
onClose();
break;
default:
break;
}
}
/**
* 关闭此dialog方法
*/
private void onClose() {
this.dismiss();
}
}
main。java
package com.yqy.yqy_dialogtest;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn_show = (Button) findViewById(R.id.btn_show);
btn_show.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Dialog dialog = new MyDialog(MainActivity.this, R.style.dialog);
dialog.show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
styles.xml
<style name="dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:backgroundDimEnabled">true</item>
</style>