z_zhaojun的博客

机会只会留给有准备的人

自定义简易确认取消Dialog

转载请注明: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 https://blog.csdn.net/u012975705/article/details/49530733
个人分类: Android笔记
所属专栏: android初级进阶
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

自定义简易确认取消Dialog

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭