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. openerp 产品图片的批量写入

    Write a short python script which loops over the image files, encode with base64 and write to OpenER ...

  2. Google研究员Ilya Sutskever:成功训练LDNN的13点建议

    Google研究员Ilya Sutskever:成功训练LDNN的13点建议 摘要:本文由Ilya Sutskever(Google研究员.深度学习泰斗Geoffrey Hinton的学生.DNNre ...

  3. SharePoint2013 Powershell script to get site Title, Site Owner, Site user count and usage

    Powershell script to get site Title, Site Owner, Site user count and usage Add-PSSnapin microsoft.sh ...

  4. ubuntu删除openjdk,安装 Sun JDK

    1.到官网下载安装包: jdk-7-linux-i586.tar.gz 2.创建安装目录:sudo mkdir /usr/lib/jvm 3. 解压缩:tar zxvf ./jdk-7-linux-i ...

  5. 启明星辰:安全管理平台(SOC)

    泰 合信息安全运营中心(Security Operation Center)系统是一个以IT资产为基础,以业务信息系统为核心,以客户体验为指引,从监控.审计.风险.运维四个维度建立起来的一套可度量的统 ...

  6. LA 3998 Prime k-tuple

    题意:如果K个相邻素数p1,p2,p3.....pk满足pk-p1=s,称这些素数组成一个距离为s的素数K元组,输入a,b,k,s,输出区间[a,b]内距离为s的素数k元组的个数. 思路:先打到500 ...

  7. MSP430的IO口模拟I2C总线对AT24C25进行读写程序

    功能: 实现MSP430口线模拟I2C总线协议与24C04通信.                                           ** 描述: 主系统工作时钟为12MHz,I2C工 ...

  8. 【Mongous】

    amark/mongous Mongous - 一个轻量级的nodejs mongodb驱动 mongous,是我不够懂你吗?关于mongous不支持objectId查询 mongous 不需要 _i ...

  9. 图论(对偶图):COGS 470. [NOI2010]海拔

    470. [NOI2010]海拔 ★★★☆   输入文件:altitude.in   输出文件:altitude.out   简单对比 时间限制:2 s   内存限制:512 MB 海拔 [问题描述] ...

  10. eclipse中的项目导出成Androidstudio的识别的项目,so文件打包不进去

    需要加入jniLibs.srcDirs = ['libs']才可以把so文件打入包内 sourceSets { main { manifest.srcFile 'AndroidManifest.xml ...