在实际的开发中,有很多地方需要用到这样的功能,执行某个操作的时候,需要弹出一个对话框来确认是否执行这个操作。所以最好在项目中写一个公共的对话框,下面我提供一个对话框的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;
}
}
资源文件:
在Activity中使用:<?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>
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