1.定义Dailog样式
// Dailog 样式
<style name="loading_dialog" parent="android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@drawable/panel</item> //背景 可以自行修改
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
Dialog的布局xml;
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="@drawable/panel"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="55dp"
android:orientation="horizontal" >
<ImageView
android:id="@+id/img_log"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingLeft="20dp"
android:text="操作提示!"
android:textColor="@color/black_light"
android:textSize="18sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#C6C6C6" />
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_msg"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center"
android:lines="5"
android:text="xxxxxxxxxxxxx"
android:textColor="@color/black"
android:textSize="18sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#C6C6C6" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="55dp"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_cancel"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@null"
android:gravity="center"
android:text="取 消"
android:textColor="@color/blue_light"
android:textSize="18sp" />
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginBottom="3dp"
android:background="#C6C6C6" />
<Button
android:id="@+id/btn_sure"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@null"
android:gravity="center"
android:text="确 定"
android:textColor="@color/blue_light"
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
/**
* 创建双按钮对话框*
* @param ctx
* 上下文 必填
* @param iconId
* 图标,如:R.drawable.icon 必填
* @param title
* 标题 必填
* @param message
* 显示内容 必填
* @param btnName
* 按钮名称 必填
* @param listener
* 监听器,需实现android.content.DialogInterface.OnClickListener接口 必填
* @return
*/
public static Dialog createDialog_twobutton(Context ctx, String title, String message, View.OnClickListener listener) {
final Dialog loadingDialog = new Dialog(ctx, R.style.loading_dialog); //创建R.style.loading_dialog样式 Dialog
View view = View.inflate(ctx, R.layout.dialog_alter2, null); //加载布局
TextView tv_title = (TextView) view.findViewById(R.id.tv_title);
TextView tv_msg = (TextView) view.findViewById(R.id.tv_msg);
Button btn_cancel = (Button) view.findViewById(R.id.btn_cancel);
Button btn_sure = (Button) view.findViewById(R.id.btn_sure);
tv_title.setText(title);
tv_msg.setText(message);
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
loadingDialog.dismiss();
}
});
btn_sure.setOnClickListener(listener); //btn_sure 设置监听(改监听有外部传入)
loadingDialog.setCancelable(false);// 不可以用“返回键”取消
loadingDialog.setContentView(view, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局
return loadingDialog;
}
使用方法
Dialog mDialog = DialogTools.createDialog_twobutton(
Admin_gasvacitvity.this, "1231233", "确定给"
12312313, new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
mDialog.dismiss();
}
});
mDialog.show();