自定义对话框Dialog

来源:互联网 发布:免费网络电话软件排名 编辑:程序博客网 时间:2024/05/18 05:37


public void exit() {
        utils.showConfirm(context, new ButtonClickEvent() {

            @Override
            public void onConfirmButtonClick() {
                backFile();
                utils.selectDialog.setDismiss();
            }

            @Override
            public void onCancleButtonClick() {
                utils.selectDialog.setDismiss();
            }
        }, null, null, 1, null);
    }


------------------------------------------------------------------------------------------------

public static void showConfirm(Context context, ButtonClickEvent event,
            String btnConfrim, String btnCancle, int pos,String parm) {
        selectDialog = new SelectDialog(context, R.style.exitdialog);
        selectDialog.setView(pos, R.layout.dialog,parm);
        if (pos == 0) {
            selectDialog.setOnKeyListener(new OnKeyListener() {
                @Override
                public boolean onKey(DialogInterface arg0, int arg1,
                        KeyEvent arg2) {
                    // TODO Auto-generated method stub
                    if (arg2.getAction() == KeyEvent.ACTION_DOWN) {
                        if (arg1 == KeyEvent.KEYCODE_BACK) {
                            try {
                                System.exit(0);
                            } catch (Exception e) {
                                // TODO: handle exception
                            }
                        }
                    }
                    return false;
                }
            });
        }
        selectDialog.setConfirmButton(btnConfrim, event);
        selectDialog.setCancleButton(btnCancle, event);
        selectDialog.show();
    }


------------------------------------------------------------------------------------------------


public class SelectDialog extends Dialog {

    Context mcontext;
    public boolean isShowing = true;

    protected SelectDialog(Context context) {
        super(context);
        mcontext = context;
        // TODO Auto-generated constructor stub
    }

    public SelectDialog(Context context, int theme) {
        super(context, theme);
        mcontext = context;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public void setView(int pos, int layout,String parm) {
        View v = LayoutInflater.from(mcontext).inflate(layout, null);
        TextView tv = (TextView) v.findViewById(R.id.breakInfo);
        Button sure = (Button) v.findViewById(R.id.sure);
        Button cancel = (Button) v.findViewById(R.id.cancel);
        switch (pos) {
        case 0:
            
            break;
        case 1:
            tv.setText(mcontext.getString(R.string.videoplayer));
            sure.setText(mcontext.getString(R.string.confirm));
            cancel.setText(mcontext.getString(R.string.backbtn));
            this.setContentView(v);
            break;        
        }

    }

    public Button setConfirmButton(String btn, final ButtonClickEvent event) {
        Button button = (Button) this.findViewById(R.id.sure);
        if (button == null) {
            return null;
        }
        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (null != event) {
                    event.onConfirmButtonClick();
                }
            }
        });
        return button;
    }

    public void setCancleButton(String btn, final ButtonClickEvent event) {
        Button button = (Button) this.findViewById(R.id.cancel);

        if (button == null) {
            return;
        }

        button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (null != event) {
                    event.onCancleButtonClick();
                }
            }
        });
    }

    public void setDismiss() {
        SelectDialog.this.dismiss();
        isShowing = false;
    }

    public interface ButtonClickEvent {

        public void onConfirmButtonClick();

        public void onCancleButtonClick();

    }

}



------------------------------------------------------------------------------------------------


<style name="exitdialog" parent="android:Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:backgroundDimEnabled">false</item>
        <item name="android:windowBackground">@color/white</item>
    </style>

android:backgroundDimEnabled背景是否变亮或暗


------------------------------------------------------------------------------------------------


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:gravity="center" android:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:orientation="vertical"
        android:layout_width="470.0px" android:layout_height="wrap_content">
        <LinearLayout android:orientation="horizontal"
            android:layout_width="wrap_content" android:layout_height="wrap_content"
            android:layout_marginLeft="20.0px" android:layout_marginTop="20.0px">
            <ImageView android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:src="@drawable/infor_icon" />
            <TextView android:textSize="20.0sp" android:textColor="@android:color/black"
                android:gravity="left" android:layout_gravity="center_horizontal"
                android:id="@+id/breakInfo" android:layout_width="fill_parent"
                android:layout_height="wrap_content" android:layout_marginLeft="20.0px"
                android:layout_marginRight="20.0px" />
        </LinearLayout>
        <LinearLayout android:orientation="horizontal"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:layout_marginTop="20.0px" android:layout_marginBottom="20.0px">
            <Button android:textSize="20.0sp" android:textColor="@android:color/black"
                android:gravity="center" android:id="@+id/sure" android:background="@drawable/sy_button_selector"
                android:layout_width="130.0px" android:layout_height="40.0px"
                android:layout_marginLeft="40.0px" />
            <Button android:textSize="20.0sp" android:textColor="@android:color/black"
                android:gravity="center" android:id="@+id/cancel"
                android:background="@drawable/sy_button_selector"
                android:layout_width="130.0px" android:layout_height="40.0px"
                android:layout_marginLeft="90.0px" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>









0 0
原创粉丝点击