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

来源:互联网 发布:linux gpu使用率 编辑:程序博客网 时间:2024/05/31 06:23
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