自己封装个dialog,满足一下报错信息的提示

package com.zpm.ticket.util;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.zpm.ticket.R;
import com.zpm.ticket.base.constant.DialogType;

/**
 * Created by zxf on 2016/7/22.
 */
public class AppDialog extends Dialog {
    private Context context;
    private String dialog_text_str;
    private String dialog_one_button_str;
    private String dialog_two_button_str;
    private ClickListenerInterface clickListenerInterface;
    private int type;


    public interface ClickListenerInterface {
        public void doConfirm();
        public void doCancel();
    }

    public AppDialog(Context context, String dialog_text, int type, String dialog_one_text, String dialog_two_text) {
        super(context, R.style.Dialog_bocop);
        this.context = context;
        this.dialog_text_str = dialog_text;
        this.dialog_one_button_str = dialog_one_text;
        this.dialog_two_button_str = dialog_two_text;
        this.type = type;
    }

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

    protected void initOneBtn() {
        TextView dialog_one_button = (TextView) findViewById(R.id.dialog_one_button);

        dialog_one_button.setText(dialog_one_button_str);
        dialog_one_button.setOnClickListener(new clickListener());
    }

    protected void initTwoBtn() {
        TextView dialog_two_button = (TextView) findViewById(R.id.dialog_two_button);
        dialog_two_button.setText(dialog_two_button_str);
        dialog_two_button.setOnClickListener(new clickListener());
    }

    public void initImgBtn(int id) {
        ImageView dialog_image_view = (ImageView) findViewById(R.id.dialog_image_view);
        //dialog_image_view.setBackgroundDrawable(context.getResources().getDrawable(id));
        //dialog_image_view.setImageResource(id);
        dialog_image_view.setImageDrawable(context.getResources().getDrawable(id));
    }

    /**
     * 控件的初始化
     */
    public void init() {
        if (type == DialogType.NO_IMG_ONE.getCode()) {//无图一按钮
            setContentView(R.layout.dialog_one_button);
            initOneBtn();
        } else if (type == DialogType.NO_IMG_TWO.getCode()) {//无图两按钮
            setContentView(R.layout.dialog_two_button);
            initOneBtn();
            initTwoBtn();
        } else if (type == DialogType.IMG_NO_BTN.getCode()) {//有图无按钮
            setContentView(R.layout.dialog_img_no_button);
        } else if (type == DialogType.IMG_ONE_BTN.getCode()) {//有图一按钮
            setContentView(R.layout.dialog_img_one_button);
            initOneBtn();
        } else if (type == DialogType.IMG_TWO_BTN.getCode()) {//有图两个按钮
            setContentView(R.layout.dialog_img_two_button);
            initOneBtn();
            initTwoBtn();
        }

        TextView dialog_text = (TextView) findViewById(R.id.dialog_text);

        dialog_text.setText(dialog_text_str);

    }

    /**
     * 点击事件的注册
     * @param clickListenerInterface
     */
    public void setClicklistener(ClickListenerInterface clickListenerInterface) {
        this.clickListenerInterface = clickListenerInterface;
    }

    /**
     * click事件的实现
     */
    private class clickListener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            int id = v.getId();
            switch (id) {
                case R.id.dialog_one_button:
                    clickListenerInterface.doConfirm();
                    break;
                case R.id.dialog_two_button:
                    clickListenerInterface.doCancel();
                    break;
            }
        }
    }
}

引用方法:

  final AppDialog appDialog = new AppDialog(this, status, DialogType.NO_IMG_ONE.getCode(), "确定", "取消");
        appDialog.show();
        appDialog.setClicklistener(new AppDialog.ClickListenerInterface() {
            @Override
            public void doConfirm() {
                appDialog.dismiss();
            }
            @Override
            public void doCancel() {
                appDialog.dismiss();
            }
        });

R.style.Dialog_bocop:文件

 <style name="Dialog_bocop">
        <item name="android:windowBackground">@color/color_77000000</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    </style>

R.layout.dialog_one_button:文件

<?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="match_parent"
              android:background="@color/transparent"
              android:gravity="center_horizontal|center_vertical"
              >
            <RelativeLayout
                android:layout_width="250dp"
                android:layout_height="182dp"
                android:background="@color/color_ffffff"
                >
                <TextView
                android:id="@+id/dialog_one_button"
                android:layout_width="match_parent"
                android:layout_height="@dimen/size_dp_40"
                android:layout_alignParentBottom="true"
                android:gravity="center_vertical|center_horizontal"
                style="@style/main_text_ffffff_16sp"
                android:background="@color/color_00a8ff"
                android:text="@string/ok_btn"
                />

                <TextView
                    android:id="@+id/dialog_text"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_above="@+id/dialog_one_button"
                    android:gravity="center_horizontal|center_vertical"
                    style="@style/main_text_343434_14sp"/>
            </RelativeLayout>
</LinearLayout>

R.layout.dialog_two_button:文件

<?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="match_parent"
              android:gravity="center_horizontal|center_vertical"
              >
            <RelativeLayout
                android:layout_width="250dp"
                android:layout_height="182dp"
                android:background="@color/color_ffffff"
                >
                <LinearLayout
                    android:id="@+id/dialog_two_rel"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_alignParentBottom="true"
                    >
                <TextView
                android:id="@+id/dialog_one_button"
                android:layout_width="1dp"
                android:layout_weight="1"
                android:layout_height="@dimen/size_dp_40"
                android:gravity="center_vertical|center_horizontal"
                style="@style/main_text_ffffff_16sp"
                android:background="@color/color_00a8ff"
                android:text="@string/ok_btn"
                />
                    <TextView
                        android:layout_width="0.5dp"
                        android:layout_height="@dimen/size_dp_40"
                        android:background="@color/color_dbdbdb"
                        ></TextView>

                    <TextView
                        android:id="@+id/dialog_two_button"
                        android:layout_width="1dp"
                        android:layout_weight="1"
                        android:layout_height="@dimen/size_dp_40"
                        android:layout_alignParentBottom="true"
                        android:gravity="center_vertical|center_horizontal"
                        style="@style/main_text_ffffff_16sp"
                        android:background="@color/color_00a8ff"
                        android:text="@string/ok_cancel"
                        />
                </LinearLayout>
                <TextView
                    android:id="@+id/dialog_text"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_above="@+id/dialog_two_rel"
                    android:gravity="center_horizontal|center_vertical"
                    style="@style/main_text_343434_14sp"/>
            </RelativeLayout>
</LinearLayout>

R.layout.dialog_img_no_button:文件

<?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="match_parent"
              android:background="@color/transparent"
              android:gravity="center_horizontal|center_vertical"
              >
            <RelativeLayout
                android:layout_width="250dp"
                android:layout_height="182dp"
                android:background="@color/color_ffffff"
                >
                <ImageView
                    android:id="@+id/dialog_image_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/size_dp_20"
                    android:src="@drawable/print"/>

                <TextView
                    android:id="@+id/dialog_text"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/size_dp_25"
                    android:layout_below="@+id/dialog_image_view"
                    android:gravity="center_horizontal|center_vertical"
                    android:text="正在打印中"
                    style="@style/main_text_343434_14sp"/>

            </RelativeLayout>
</LinearLayout>

R.layout.dialog_img_one_button:文件

<?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="match_parent"
              android:background="@color/transparent"
              android:gravity="center_horizontal|center_vertical"
              >
            <RelativeLayout
                android:layout_width="250dp"
                android:layout_height="182dp"
                android:background="@color/color_ffffff"
                >


                <TextView
                android:id="@+id/dialog_one_button"
                android:layout_width="match_parent"
                android:layout_height="@dimen/size_dp_40"
                android:layout_alignParentBottom="true"
                android:gravity="center_vertical|center_horizontal"
                style="@style/main_text_ffffff_16sp"
                android:background="@color/color_00a8ff"
                android:text="@string/ok_btn"
                />
                <TextView
                    android:id="@+id/dialog_text"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_above="@+id/dialog_one_button"
                    android:gravity="center_horizontal|center_vertical"
                    android:text="票码无效"
                    android:layout_marginBottom="@dimen/size_dp_10"
                    style="@style/main_text_343434_14sp"/>
                <ImageView
                    android:id="@+id/dialog_image_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_above="@+id/dialog_text"
                    android:layout_marginBottom="@dimen/size_dp_10"
                    android:src="@drawable/ticket_wrong"/>
            </RelativeLayout>
</LinearLayout>

R.layout.dialog_img_two_button:文件

<?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="match_parent"
              android:background="@color/transparent"
              android:gravity="center_horizontal|center_vertical"
              >
            <RelativeLayout
                android:layout_width="250dp"
                android:layout_height="182dp"
                android:background="@color/color_ffffff"
                >
                <LinearLayout
                    android:id="@+id/dialog_img_two_rel"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_alignParentBottom="true"
                    >
                    <TextView
                        android:id="@+id/dialog_one_button"
                        android:layout_width="1dp"
                        android:layout_weight="1"
                        android:layout_height="@dimen/size_dp_40"
                        android:gravity="center_vertical|center_horizontal"
                        style="@style/main_text_ffffff_16sp"
                        android:background="@color/color_00a8ff"
                        android:text="@string/ok_btn"
                        />
                    <TextView
                        android:layout_width="0.5dp"
                        android:layout_height="@dimen/size_dp_40"
                        android:background="@color/color_dbdbdb"
                        ></TextView>

                    <TextView
                        android:id="@+id/dialog_two_button"
                        android:layout_width="1dp"
                        android:layout_weight="1"
                        android:layout_height="@dimen/size_dp_40"
                        android:layout_alignParentBottom="true"
                        android:gravity="center_vertical|center_horizontal"
                        style="@style/main_text_ffffff_16sp"
                        android:background="@color/color_00a8ff"
                        android:text="@string/ok_cancel"
                        />
                </LinearLayout>
                <TextView
                    android:id="@+id/dialog_text"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_above="@+id/dialog_img_two_rel"
                    android:gravity="center_horizontal|center_vertical"
                    android:text="打印失败,请检查打印机"
                    android:layout_marginBottom="@dimen/size_dp_10"
                    style="@style/main_text_343434_14sp"/>
                <ImageView
                    android:id="@+id/dialog_image_view"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_above="@+id/dialog_text"
                    android:layout_marginBottom="@dimen/size_dp_10"
                    android:src="@drawable/print_wrong"/>
            </RelativeLayout>
</LinearLayout>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值