xml:
alter_dialog_two
<?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="wrap_content" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:background="@drawable/line_gray_cancel" android:orientation="vertical" > <TextView android:id="@+id/tv_alter_content" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="10dp" android:text="1111" android:textColor="@android:color/black" android:textSize="@dimen/dialog_font" /> <View style="@style/LineHorizontal.Gray_d8" android:layout_marginLeft="1dp" android:layout_marginRight="1dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="35dp" android:orientation="horizontal" > <Button android:id="@+id/btn_two_cancel" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/sel_alter_yes_bg" android:gravity="center" android:text="@string/cancel" android:textColor="@color/blue_03" android:textSize="@dimen/dialog_font" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:layout_marginBottom="1dp" android:background="@color/gray_d8" /> <Button android:id="@+id/btn_two_ok" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/sel_alter_no_bg" android:gravity="center" android:text="@string/ok" android:textColor="@color/blue_03" android:textSize="@dimen/dialog_font" /> </LinearLayout> </LinearLayout> </LinearLayout>
TwoBtnAlterDialog
package com.android.hcframe.view; import android.app.Dialog; import android.content.Context; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.TextView; import com.android.hcframe.R; public class TwoBtnAlterDialog extends Dialog { private static TwoBtnAlterDialog twoBtnDialog = null; public static TextView tvAlterContent; public static Button btn_ok, btn_cancel; public TwoBtnAlterDialog(Context context) { super(context); } public TwoBtnAlterDialog(Context context, int theme) { super(context, theme); } public static TwoBtnAlterDialog createDialog(Context context,String msg) { twoBtnDialog = new TwoBtnAlterDialog(context, R.style.CustomAlterDialog); LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.alter_dialog_two, null); twoBtnDialog.setContentView(view); Window win = twoBtnDialog.getWindow(); win.getAttributes().gravity = Gravity.CENTER; // win.setWindowAnimations(R.style.dialogWindowAnimTop); tvAlterContent = (TextView) twoBtnDialog.findViewById(R.id.tv_alter_content); tvAlterContent.setText(msg); btn_ok = (Button) twoBtnDialog.findViewById(R.id.btn_two_ok); btn_cancel = (Button) twoBtnDialog.findViewById(R.id.btn_two_cancel); return twoBtnDialog; } }
java调用:
private static TwoBtnAlterDialog alterDialog; public static void twoBtnAlterDialog(final Context context, String msg) { if (alterDialog == null) { alterDialog = TwoBtnAlterDialog.createDialog(context, msg); TwoBtnAlterDialog.btn_ok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context, "ok", Toast.LENGTH_SHORT).show(); } }); TwoBtnAlterDialog.btn_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context, "cancel", Toast.LENGTH_SHORT).show(); } }); alterDialog.show(); } else { alterDialog.dismiss(); alterDialog = null; } }