Android自定义简易确认取消Dialog

jopen 10年前

转载请注明:http://blog.csdn.net/u012975705/article/details/49530733

SimpleConfirmDialog.java

public class SimpleConfirmDialog extends Dialog implements View.OnClickListener {        //提示语      private TextView mSlogan;      //取消按钮      private Button mCancel;      //确认按钮      private Button mConfirm;    //    private MyCollectionActivity mActivity;      private OnConfirmListener mListener;        public SimpleConfirmDialog(Context context) {          super(context, R.style.Theme_Light_FullScreenDialogAct);          setContentView(R.layout.dialog_simple_confirm);            initView();          initData();          initEvent();      }        @Override      public void show() {          super.show();  //        WindowManager m = mActivity.getWindowManager();  //        Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用  //        WindowManager.LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的参数值  //        p.height = 270;  //        p.width = 140;  //        getWindow().setAttributes(p);      }        /**       * 初始化视图       */      private void initView() {          mSlogan = (TextView) findViewById(R.id.simple_dialog_slogan);          mCancel = (Button) findViewById(R.id.simple_dialog_cancel);          mConfirm = (Button) findViewById(R.id.simple_dialog_confirm);      }        /**       * 初始化控件、数据       */      private void initData() {        }        /**       * 初始化事件       */      private void initEvent() {          mCancel.setOnClickListener(this);          mConfirm.setOnClickListener(this);      }        public void setClickListener(String slogan, OnConfirmListener mListener) {          mSlogan.setText(slogan);          this.mListener = mListener;      }        @Override      public void onClick(View view) {          switch (view.getId()) {              case R.id.simple_dialog_cancel:                  cancel();                  break;              case R.id.simple_dialog_confirm:                  mListener.onConfirm();                  break;              default:                  break;          }      }        public interface OnConfirmListener {          void onConfirm();      }  }

style:

<style name="BaseDialog" parent="@android:style/Theme.Dialog" />        <style name="Theme.Light.FullScreenDialogAct" parent="@style/BaseDialog">          <item name="android:windowBackground">@color/transparent</item>          <item name="android:windowFrame">@null</item>          <item name="android:windowIsFloating">true</item>          <item name="android:windowContentOverlay">@null</item>          <item name="android:textSize">16.0sp</item>          <item name="android:textColor">#ff555555</item>          <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>          <item name="android:backgroundDimEnabled">true</item>          <item name="android:windowSoftInputMode">adjustPan</item>      </style>

xml:

<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="250dp"      android:layout_height="wrap_content"      android:background="@drawable/bg_simple_dialog"      android:orientation="vertical">        <LinearLayout          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:gravity="center"          android:padding="20dp">            <TextView              android:id="@+id/simple_dialog_slogan"              style="@style/TextTitle"              android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:text="提示语" />      </LinearLayout>        <View          android:layout_marginLeft="30dp"          android:layout_marginRight="30dp"          android:background="@color/background"          android:layout_width="match_parent"          android:layout_height="1dp"/>        <LinearLayout          android:padding="20dp"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:orientation="horizontal">            <LinearLayout              android:layout_marginRight="5dp"              android:gravity="center"              android:layout_width="0dp"              android:layout_height="wrap_content"              android:layout_weight="1">                <Button                  style="@style/TextNormal"                  android:text="取消"                  android:paddingTop="5dp"                  android:paddingBottom="5dp"                  android:paddingLeft="20dp"                  android:paddingRight="20dp"                  android:id="@+id/simple_dialog_cancel"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content"                  android:background="@drawable/bg_dialog_button_cancel" />          </LinearLayout>            <LinearLayout              android:layout_marginLeft="5dp"              android:gravity="center"              android:layout_width="0dp"              android:layout_height="wrap_content"              android:layout_weight="1">                <Button                  android:textColor="@color/white"                  style="@style/TextTitle"                  android:text="确定"                  android:paddingTop="5dp"                  android:paddingBottom="5dp"                  android:paddingLeft="20dp"                  android:paddingRight="20dp"                  android:id="@+id/simple_dialog_confirm"                  android:layout_width="wrap_content"                  android:layout_height="wrap_content"                  android:background="@drawable/bg_dialog_button_confirm" />          </LinearLayout>      </LinearLayout>    </LinearLayout>