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. function field , store={}...

    def _get_product_state(self,cr,uid,ids,fields,arg=None,context=None): res={} dic=dict( self.pool.get ...

  2. TreeList的VisibleNodesCount,Noes.Count,AllNdoesCount以及焦点节点的删除

    初始5个Nodes 隐藏23节点,打印全部节点Tag 显示23,打印全部节点Tag 隐藏全部节点,打印节点Tag TreeList.Nodes.Count == TreeList.AllNodesCo ...

  3. 关于HTML编辑页面(1)

    1,<title>...</title> //省略号表示的是网页标题 2,<body>...</body>//省略号表示的是网页正文内容 3,在Drea ...

  4. 关于asp.net core部署到iis中出现 HTTP Error 502.5 - Process Failure的问题

    环境是windows Server2008R2 出现这个问题搞了一下午都没解决,最后又加班才算搞定,由于英文不太好,官方的文档看了好几遍,也按照文档做的,但还是出现这个问题,百度google搜了很多解 ...

  5. 深入浅出C语言中的堆和栈

    在谈堆栈的时候,我在这有必要把计算机的内存结构给大家简单的介绍下(高手们可以直接飘过) 一. 内存结构   每个程序一启动都有一个大小为4GB的内存,这个内存叫虚拟内存,是概念上的,真正能用到的,只是 ...

  6. Yosemite重置Dock的命令

    备忘 defaults write com.apple.dock ResetLaunchPad -bool true killall Dock

  7. 转:PHP中实现非阻塞模式

    原文来自于:http://blog.csdn.net/linvo/article/details/5466046 程序非阻塞模式,这里也可以理解成并发.而并发又暂且可以分为网络请求并发 和本地并发 . ...

  8. [HDOJ 1171] Big Event in HDU 【完全背包】

    题目链接:HDOJ - 1171 题目大意 有 n 种物品,每种物品有一个大小和数量.要求将所有的物品分成两部分,使两部分的总大小尽量接近. 题目分析 令 Sum 为所有物品的大小总和.那么就是用给定 ...

  9. HTML/W3C-WHATWG-Differences

    Differences between the W3C HTML 5.1 specification and the WHATWG LS The W3C HTML 5.1 specification: ...

  10. phpMyAdmin 完整路径泄露漏洞

    漏洞名称: phpMyAdmin 完整路径泄露漏洞 CNNVD编号: CNNVD-201307-650 发布时间: 2013-08-09 更新时间: 2013-08-09 危害等级: 中危   漏洞类 ...