自定义简易确认取消Dialog

原创 2015年10月31日 10:05: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>
版权声明:本文为博主原创文章,转载请注明出处。博客首页:http://blog.csdn.net/u012975705。订阅:http://blog.csdn.net/u012975705/rss/list

android各种提示Dialog 弹出框

开发过程中 经常需要各种弹出框 用来做提示  或者 展示一些 数据信息。写了一个 DialogUtil , 话不多说 直接上代码 ,希望对大家有帮助。 public static Dialog g...
  • shaoyezhangliwei
  • shaoyezhangliwei
  • 2016年01月18日 15:24
  • 1617

Android开发中对话框辅助类——DialogHelper

写在前面: 对话框在平时的开发工作中使用率很频繁,但是很多开发者每次使用都去写一堆代码,如此,不单单效率不高,而且代码也不优…为此,写了简单的封装。效果如:关键类DialogHelpe...
  • wufeng55
  • wufeng55
  • 2016年11月07日 11:12
  • 1157

android弹出对话框中带有确定和取消对话框带事件的应用

new AlertDialog.Builder(this) .setTitle("重置")    .setMessage("确定要重置角色吗?") .setPositiveButton("确定"...
  • Season_Pan
  • Season_Pan
  • 2014年09月01日 10:19
  • 1498

Androdi自定义对话框且带取消按钮与确认按钮的回调

1.先扩展android系统自带的Dialog,将布局与主题属性全抛出来,实现数据与视图分离: import android.app.Dialog; import android.content.Co...
  • d06110902002
  • d06110902002
  • 2016年10月29日 15:01
  • 731

Android 点击AlertDialog上的确定和取消按钮,使对话框不消失

Android中的AlertDialog弹出框在被点击时, 无论点击哪个按钮都会关闭窗口。
  • ncepu307
  • ncepu307
  • 2014年05月28日 10:52
  • 6656

android 如何关闭dialog 如何关闭builder

之前在做项目的时候
  • keleesen
  • keleesen
  • 2014年11月23日 10:09
  • 1037

【举例】Android自定义Dialog——做出“确定/取消”的选择

【举例】Android自定义Dialog——做出“确定/取消”的选择
  • u013806583
  • u013806583
  • 2017年03月17日 19:54
  • 337

Dialog确定和删除按钮

main.xml代码下:
  • yayun0516
  • yayun0516
  • 2015年01月19日 10:42
  • 1810

AlertDialog----确认单击物理键退出对话框

单击物理键,退出确认弹出对话框,对于误点起到更好的保护作用,还有自定义的弹出框效果...
  • zsh157621866651
  • zsh157621866651
  • 2016年05月30日 17:06
  • 1029

AlertDialog点击按钮确定或取消不消失

在Android开发中,AlertDialog的使用十分频繁的,有时候会碰到点击确定或取消后AlertDialog仍不消失的需求,但在Android的SDK中并没有给出接口来实现这一功能,故我们通过研...
  • Two212250511
  • Two212250511
  • 2015年05月25日 09:54
  • 1387
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义简易确认取消Dialog
举报原因:
原因补充:

(最多只允许输入30个字)