先看效果图:

1.主界面,主界面的布局只是一个button
package com.example.admin.ztest;
import .Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn2 = (Button) this.findViewById(.btn2);
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
final CSOKDialog okCancelDialog = CSOKDialog.createBuilder(MainActivity.this);
okCancelDialog.setMsg("胜利属于我们");
//返回键是否关闭对话框 true 表示可以关闭
okCancelDialog.setCancelable(false);
//设置在窗口外空白处触摸时是否取消此对话框。 如果设置为true,则对话框设置为可取消
okCancelDialog.setCanceledOnTouchOutside(false);
okCancelDialog.show();
}
});
}
}
2.自定义的dialog类:
package com.example.admin.ztest;
import .Dialog;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class CSOKDialog extends Dialog {
private Context context = null;
private TextView msgText;
private TextView titleText;
private Button okBtn;
public static CSOKDialog createBuilder(Context context) {
return new CSOKDialog(context);
}
public CSOKDialog(Context context) {
this(context, R.style.CustomDialog);
this.context = context;
}
public CSOKDialog(Context context, boolean cancelable,
OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
this.context = context;
}
public CSOKDialog(Context context, int theme) {
super(context, theme);
this.context = context;
setDialogContentView();
}
private void setDialogContentView() {
View view = LayoutInflater.from(context).inflate(R.layout.showdialog_ok, null);
titleText = (TextView) view.findViewById(.title_text);
msgText = (TextView) view.findViewById(.msg_text);
okBtn = (Button) view.findViewById(.ok_btn);
okBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.e("TAG","okBtn21");
CSOKDialog.this.dismiss();
}
});
setContentView(view);
}
public CSOKDialog setMsg(String msg) {
if (null != msgText) {
msgText.setText(msg);
}
return this;
}
public CSOKDialog setMsg(int resId) {
if (null != msgText) {
msgText.setText(context.getString(resId));
}
return this;
}
public CSOKDialog setAlertTitle(String t) {
if (null != titleText) {
titleText.setText(t);
}
return this;
}
public CSOKDialog setAlertTitle(int resId) {
if (null != titleText) {
titleText.setText(context.getString(resId));
}
return this;
}
}
3.dialog布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:///apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:minWidth="500.0dip"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/Layouttab1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/b_11bgtop"
android:orientation="vertical">
<ImageButton
android:id="@+id/imgright"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="5.0dip"
android:layout_marginTop="1.0dip"
android:background="@drawable/diaotitel_btn_css"
android:visibility="gone" />
<TextView
android:id="@+id/title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10.0dip"
android:layout_toRightOf="@+id/imgleft"
android:text="温馨提示"
android:textColor="@color/alert_dialog_title"
android:textSize="20.0sp" />
</RelativeLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/b_1bgdown"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/msg_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10.0dip"
android:layout_marginRight="7.0dip"
android:layout_marginTop="21.0dip"
android:text="show message!"
android:textColor="#ff222222"
android:textSize="18.0sp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginTop="15.0dip"
android:background="@color/alert_dialog_button_background"
android:gravity="center_vertical"
android:orientation="vertical">
<Button
android:id="@+id/ok_btn"
android:layout_width="wrap_content"
android:layout_height="@dimen/common_queren_button_height"
android:layout_weight="1.0"
android:background="@drawable/dialog_button_pressed"
android:gravity="center"
android:text="确 定"
android:textColor="@color/alert_dialog_content"
android:textSize="18.0sp" />
<Button
android:layout_width="wrap_content"
android:layout_height="@dimen/common_queren_button_height"
android:layout_weight="1.0"
android:background="@color/colorAccent"
android:gravity="center"
android:text="确 哈哈212 定"
android:textColor="@color/alert_dialog_content"
android:textSize="18.0sp" />
<Button
android:layout_width="wrap_content"
android:layout_height="@dimen/common_queren_button_height"
android:layout_weight="1.0"
android:background="@color/alert_dialog_divi_top"
android:gravity="center"
android:text="确方法是否 定"
android:textColor="@color/alert_dialog_content"
android:textSize="18.0sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
5.类型:
<style name="CustomDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item><!-- 边框 -->
<item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 -->
<item name="android:windowNoTitle">true</item><!-- 标题 -->
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowBackground">@color/fulltransparent</item><!-- 背景 -->
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:windowIsTranslucent">true</item><!-- 半透明 -->
<item name="android:backgroundDimEnabled">true</item><!-- 模糊 -->
</style>
其实,现在很多的dialog都使用dialogFragment,大家可以试试这个,很好用的
















