activity





    private void showDialog1() {
        message = "您输入的邮箱后缀不是公司邮箱地址\n将导致您的借款审核不通过,请重新\n填写。";
        DialogBQT diaolog = new DialogBQT(this);
        diaolog.setTitleAndMessageAndIcon(null, message, R.drawable.icon_email);
        diaolog.setOneButtonText("我知道了", -1);
        diaolog.show();
    }

    private void showDialog2() {
        message = "您已申请了我们公司的aaa,\n正在处理中,请勿重复申请。";
        DialogBQT diaolog = new DialogBQT(this) {
            @Override
            public void onSureClick(View v) {
                super.onSureClick(v);
                startActivity(new Intent(A_Elite_Loan.this, Activity_LoanList.class));
            }
        };
        diaolog.setTitleAndMessageAndIcon(null, message, R.drawable.icon_email);
        diaolog.setButtonText("查看我的借款", "返回", -1, 0xff999999);
        diaolog.show();
    }

    private void showDialog3() {
        message = "您输入的邮箱后缀不是公司邮箱地址\n将导致您的借款审核不通过,请重新\n填写。";
        DialogBQT diaolog = new DialogBQT(this);
        diaolog.setTitleAndMessageAndIcon("提示", message, R.drawable.icon_email);
        diaolog.setMiddleButtonText("中间按钮",-1);
        diaolog.show();

}


dialog

public class DialogBQT extends Dialog implements OnClickListener {
    private TextView title, message;//标题和消息内容
    private ImageView iv_icon;//图标
    private Button cancel, middle, confirm;//3个按钮
    private LinearLayout line_left, line_right;//2条线
    /**
     * 仿iOS风格的AlertView
     */
    public DialogBQT(Context context) {
        this(context, R.style.alertviewstyle);
    }
    public DialogBQT(Context context, int theme) {
        super(context, theme);
        initView();
    }
    private void initView() {
        setContentView(R.layout.dialog_withicon);
        title = (TextView) findViewById(R.id.title);
        message = (TextView) findViewById(R.id.message);
        iv_icon = (ImageView) findViewById(R.id.iv_icon);
        cancel = (Button) findViewById(R.id.cancel);
        middle = (Button) findViewById(R.id.middle);
        confirm = (Button) findViewById(R.id.confirm);
        line_left = (LinearLayout) findViewById(R.id.line_left);
        line_right = (LinearLayout) findViewById(R.id.line_right);
        cancel.setOnClickListener(this);
        middle.setOnClickListener(this);
        confirm.setOnClickListener(this);
    }
    //***************************************************常用设置***************************************
    /**
     * 标题、消息内容、图标,为空时不显示,为-1时不显示
     */
    public void setTitleAndMessageAndIcon(String titleString, String messageString, int res) {
        if (titleString == null) title.setVisibility(View.GONE);
        else title.setText(titleString);
        if (messageString == null) message.setVisibility(View.GONE);
        else message.setText(messageString);
        if (res == -1) iv_icon.setVisibility(View.GONE);
        else iv_icon.setImageResource(res);
    }
    /**
     * 显示三两个按钮时,确认(右)和取消(左)文本及颜色,为-1时不设置
     */
    public void setButtonText(String confirmString, String cancelString, int confirmColor, int cancelColor) {
        confirm.setText(confirmString);
        cancel.setText(cancelString);
        if (confirmColor != -1) confirm.setTextColor(confirmColor);
        if (cancelColor != -1) cancel.setTextColor(cancelColor);
    }
    /**
     * 显示三个按钮时,把中间的按钮显示出来
     */
    public void setMiddleButtonText(String text, int color) {
        middle.setVisibility(View.VISIBLE);
        line_right.setVisibility(View.VISIBLE);
        middle.setText(text);
        if (color != -1) middle.setTextColor(color);
    }
    /**
     * 显示一个按钮时
     */
    public void setOneButtonText(String text, int color) {
        cancel.setVisibility(View.GONE);
        line_left.setVisibility(View.GONE);
        confirm.setText(text);
        if (color != -1) confirm.setTextColor(color);
        confirm.setBackgroundResource(R.drawable.single_btn_select);
    }
    //***************************************************三个按钮的点击事件***************************************
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.confirm:
                dismiss();
                onSureClick(v);
                break;
            case R.id.cancel:
                dismiss();
                onCancleClick(v);
                break;
            case R.id.middle:
                dismiss();
                onMiddleClick(v);
                break;
            default:
                break;
        }
    }
    private void onMiddleClick(View v) {
    }
    public void onSureClick(View v) {
    }
    public void onCancleClick(View v) {
    }
    //***************************************************获取控件***************************************
    public TextView getTitle() {
        return title;
    }
    public TextView getMessage() {
        return message;
    }
    public ImageView getIv_icon() {
        return iv_icon;
    }
    public Button getCancel() {
        return cancel;
    }
    public Button getMiddle() {
        return middle;
    }
    public Button getConfirm() {
        return confirm;
    }
    public LinearLayout getLine_left() {
        return line_left;
    }
    public LinearLayout getLine_right() {
        return line_right;
    }
}

layout


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/layout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:layout_gravity="center"
              android:background="@drawable/dialog_bg"
              android:minWidth="300dp"
              android:orientation="vertical"
              android:paddingTop="30dp">
    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="标题"
        android:textColor="@android:color/black"
        android:textSize="20sp"/>
    <ImageView
        android:id="@+id/iv_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:src="@drawable/icon_email"/>
    <TextView
        android:id="@+id/message"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:padding="20dp"
        android:text="内容"
        android:textColor="@android:color/black"
        android:textSize="@dimen/main_text_default"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="1dip"
        android:layout_marginTop="10dp"
        android:background="#D1D1D1"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:id="@+id/cancel"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/left_btn_select"
            android:paddingBottom="15dp"
            android:paddingTop="15dp"
            android:text="@string/cancel"
            android:textColor="@color/btntextcolor"
            android:textSize="@dimen/main_text_default"/>
        <LinearLayout
            android:id="@+id/line_left"
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="#D1D1D1"
            android:orientation="horizontal"/>
        <Button
            android:id="@+id/middle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/left_btn_select"
            android:paddingBottom="15dp"
            android:paddingTop="15dp"
            android:text="@string/dismiss"
            android:textColor="@color/btntextcolor"
            android:textSize="@dimen/main_text_default"
            android:visibility="gone"/>
        <LinearLayout
            android:id="@+id/line_right"
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="#D1D1D1"
            android:orientation="horizontal"
            android:visibility="gone"/>
        <Button
            android:id="@+id/confirm"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/right_btn_select"
            android:paddingBottom="15dp"
            android:paddingTop="15dp"
            android:text="@string/confirm"
            android:textColor="@color/btntextcolor"
            android:textSize="@dimen/main_text_default"/>
    </LinearLayout>
</LinearLayout>

background

样式
    <style name="alertviewstyle" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowIsTranslucent">false</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@drawable/dialog_background</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>
根布局背景
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item><shape>
        <solid android:color="#fff" />
        <corners android:radius="15px" />
    </shape></item>
</selector>
按钮背景_左边(注意,不同位置的按钮背景是不一样的)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/check_left_btn" android:state_pressed="true"/>
    <item android:drawable="@drawable/left_btn" />
</selector>
按钮背景_check_left_btn
<?xml version="1.0" encoding="UTF-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <!-- 填充的颜色 --> 
    <solid android:color="#EAEAEA" /> 
    <!-- 设置按钮的四个角为弧形 --> 
    <!-- android:radius 弧形的半径 --> 
    <corners android:bottomLeftRadius="15px" /> 
      
</shape> 
按钮背景_left_btn
<?xml version="1.0" encoding="UTF-8"?> 
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <!-- 填充的颜色 --> 
    <solid android:color="#FFFFFF" /> 
    <!-- 设置按钮的四个角为弧形 --> 
    <!-- android:radius 弧形的半径 --> 
    <corners android:bottomLeftRadius="15px" /> 
</shape> 

对话框 自定义 IOS风格 包青天的更多相关文章

  1. JS实现IOS风格对话框 jquery / zepto

    Alert alert("这个是一个alert弹窗"); Alert 自定义参数 alert({ content: "自定义alert弹窗", btnText: ...

  2. 使用Quasar设计Material和IOS风格的响应式网站

    使用Quasar设计Material和IOS风格的响应式网站 栏目: CSS · 发布时间: 8个月前 来源: segmentfault.com   本文转载自:https://segmentfaul ...

  3. 构建 iOS 风格移动 Web 应用程序的8款开发框架

    使用 HTML5,CSS3 和 JavaScript 开发移动应用经过实践证明是一种可行的方式.这里收录了几款 iOS 风格的手机应用程序开发框架,帮助您使用擅长的 Web 技术来开发移动应用程序.这 ...

  4. 使用 iosOverlay.js 创建 iOS 风格的提示和通知

    iosOverlay.js 用于在 Web 项目中实现 iOS 风格的通知和提示效果.为了防止图标加载的时候闪烁,你需要预加载的图像资源.不兼容 CSS 动画的浏览器需要 jQuery 支持.浏览器兼 ...

  5. PhotoSwipe - 移动开发必备的 iOS 风格相册

    PhotoSwipe 是一个专门针对移动设备的图像画廊,它的灵感来自 iOS 的图片浏览器和谷歌移动端图像. PhotoSwipe 提供您的访客熟悉和直观的界面,使他们能够与您的移动网站上的图像进行交 ...

  6. 使用jQuery开发iOS风格的页面导航菜单

    在线演示1 本地下载     申请达人,去除赞助商链接 iOS风格的操作系统和导航方式现在越来越流行,在今天的jQuery教程中,我们将介绍如何生成一个iphone风格的菜单导航. HTML代码 我们 ...

  7. Windows 8实例教程系列 - 自定义应用风格

    原文:Windows 8实例教程系列 - 自定义应用风格 在Windows 8 XAML实例教程中,曾经提及过应用风格设计方法以及如何创建可复用样式代码.本篇将深入讨论如何创建自定义Windows8应 ...

  8. Android系统对话框——自定义关闭

    Android系统对话框--自定义关闭 Dialog是我们在项目中经常用到的,5.x以后的Dialog也很好看,很安卓风,Android也给我们提供了新的包,低版本可以显示一样的效果.我们在使用的导入 ...

  9. ToastCustom【自定义显示风格的Toast】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 基于系统Toast的自定义显示风格的Toast. 效果图 代码分析 ToastCustom类基于系统Toast,不是继承Toast, ...

随机推荐

  1. [转载]windows下安装Python虚拟环境virtualenvwrapper-win

    1 前言 由于Python的版本众多,还有Python2和Python3的争论,因此有些软件包或第三方库就容易出现版本不兼容的问题. 通过 virtualenv 这个工具,就可以构建一系列 虚拟的Py ...

  2. swfobject.js IE兼容问题

    错误代码 在562行左右 / add style rule if (ua.ie && ua.win) { if (dynamicStylesheet && typeof ...

  3. hdu 5074 Hatsune Miku

    http://acm.hdu.edu.cn/showproblem.php?pid=5074 题意:给你一个的矩阵score[i][j],然后给你一个数列,数列中有一些是-1,代表这个数可以换成1~m ...

  4. GroupLayout 布局

    文档说明: 以下引自:Java™ PlatformStandard Ed. 7 public class GroupLayout extends Object implements LayoutMan ...

  5. COJ 0346 WZJ的旅行(二)更新动态树分治版本

    WZJ的旅行(二) 难度级别:D: 运行时间限制:3000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 时隔多日,WZJ又来到了幻想国旅行.幻想国由N个城市组成,由 ...

  6. ural-1099-Work Scheduling(裸带花树)

    题意: 有N个人,有限对的人可以在一起工作,问最多能有多少对. 分析: 任意图的最大匹配 // File MAXName: 1099.cpp // Author: Zlbing // Created ...

  7. 【数论】FOJ 2238 Daxia & Wzc's problem

    题目链接: http://acm.fzu.edu.cn/problem.php?pid=2238 题目大意: 已知等差数列A(0)的首项a和公差d,求出数列A(0)前n项和,得到新数列A(1);以此类 ...

  8. The Viewport Transformation

    英文帖子链接http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/viewport_transformation.ht ...

  9. max Sum(简单动态规划)

    http://acm.hdu.edu.cn/showproblem.php?pid=1003 / 给组测试数据 1 7 2 3 -4 -5 6 7 8 一个关键问题 : 什么时候将开始位置重新赋值 即 ...

  10. 剪花布条 - HDU 2087(简单KMP | 暴力)

    分析:基础的练习............... ============================================================================ ...