Android很好用的确认对话框(DialogFragment)

来源:互联网 发布:微信网络诈骗投诉电话 编辑:程序博客网 时间:2024/05/17 22:07

在实际的开发中,有很多地方需要用到这样的功能,执行某个操作的时候,需要弹出一个对话框来确认是否执行这个操作。所以最好在项目中写一个公共的对话框,下面我提供一个对话框的DEMO供广大Android程序猿学习:

Java代码:

/** * Created by admin on 2016/7/21. */public class MakeSureDialog extends DialogFragment {    private View mView;    private TextView mTvContent;    private String content = "您确认执行此操作吗?";    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);        mView = inflater.inflate(R.layout.dialog_make_sure, container);        getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));        initView();        return mView;    }    private void initView() {        TextView mTvSure = (TextView) mView.findViewById(R.id.tv_sure);        TextView mTvCancel = (TextView) mView.findViewById(R.id.tv_cancel);        mTvContent = (TextView) mView.findViewById(R.id.tv_dialog_make_sure_content);        mTvContent.setText(content);        mTvSure.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (mListener != null) {                    mListener.onSureClick();                }                dismiss();            }        });        mTvCancel.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (mListener != null) {                    mListener.onCancelClick();                }                dismiss();            }        });    }    public void setContent(String content) {        this.content = content;    }    public interface onDialogClickListener {        public void onSureClick();        public void onCancelClick();    }    private onDialogClickListener mListener;    public void setDialogClickListener(onDialogClickListener mListener) {        this.mListener = mListener;    }}
资源文件:

<?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="160dp"    android:background="@drawable/bg_dialog_rectangle"    android:orientation="vertical">    <TextView        android:id="@+id/tv_dialog_make_sure_content"        android:layout_width="280dp"        android:layout_height="120dp"        android:gravity="center"        android:text="您确定要删除此地址吗?"        android:textColor="@color/black" />    <View        android:id="@+id/divider3"        android:layout_width="match_parent"        android:layout_height="1px"        android:background="@color/title_background_color" />    <LinearLayout        android:layout_width="280dp"        android:layout_height="40dp"        android:orientation="horizontal">        <TextView            android:id="@+id/tv_sure"            android:layout_width="0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:gravity="center"            android:text="确定"            android:textColor="@color/black" />        <View            android:layout_width="1px"            android:layout_height="match_parent"            android:background="@color/title_background_color" />        <TextView            android:id="@+id/tv_cancel"            android:layout_width="0dp"            android:layout_height="match_parent"            android:layout_weight="1"            android:gravity="center"            android:text="取消"            android:textColor="@color/black" />    </LinearLayout></LinearLayout>
在Activity中使用:
 private void showMakeSureDialog() {        MakeSureDialog dialog = new MakeSureDialog();        dialog.setContent("确认删除吗?");        dialog.setDialogClickListener(new MakeSureDialog.onDialogClickListener() {            @Override            public void onSureClick() {                mTvText.setVisibility(View.GONE);            }            @Override            public void onCancelClick() {//这里是取消操作            }        });        dialog.show(getFragmentManager(),"");    }

运行效果:
DEMO下载:http://download.csdn.net/detail/y280903468/9608429

0 0
原创粉丝点击