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. 搭建BCE本地开发环境

    1. 在官网下载VirtualBox & 虚拟机 http://bce.baidu.com/doc/BAE/GUIGettingStarted.html#.E4.B8.8B.E8.BD.BD. ...

  2. utf8_general utf8_general utf8_bin区别

    对与general来说 ß = s 是为true的 但是对于unicode来说 ß = ss 才是为true的, 其实他们的差别主要在德语和法语上,所以对于我们中国人来说,一般使用general,因为 ...

  3. urlconnection.connect()和url.openconnection()的区别

    urlconnect()ion.connect()()方法是抽象的:打开到此 URL 引用的资源的通信链接(如果尚未建立这样的连接). 如果在已打开连接(此时 connect()ed 字段的值为 tr ...

  4. 【RabbitMQ】 Routing

    Routing 之前的章节里我们构建了一个简单的日志系统.我们可以广播所有的日志消息给所有的接收端. 本节我们将给它添加一个新特性 - 我们将允许只订阅一个消息的子集.例如,我们只将关键的错误消息定位 ...

  5. 纯Html+Ajax和JSP两者的优缺点

    我对jsp和ajax 一直比较困惑, jsp动态网页技术,在服务器端执行,能在网页中显示数据这是一种方式 .另一种方式是我打开一个网页(html),加载完成之后,使用js,ajax访问网络得到json ...

  6. [BZOJ 1188] [HNOI2007] 分裂游戏 【博弈论|SG函数】

    题目链接:BZOJ - 1188 题目分析 我们把每一颗石子看做一个单个的游戏,它的 SG 值取决于它的位置. 对于一颗在 i 位置的石子,根据游戏规则,它的后继状态就是枚举符合条件的 j, k.然后 ...

  7. Unity3D 3D横版跑酷

    Unity3d  3D横版跑酷系列(Character Controller组件) @广州小龙 目前在做一个3D跑酷的横版游戏,目前说一下 Character Controller组件! 1.Slop ...

  8. bcb 如何在DLL中捕捉系统级异常

    http://topic.csdn.net/t/20031023/09/2385627.html -------------------------------------------------- ...

  9. Struts2+JFreeChart

    前言 关于Struts2入门以及提高等在这里就不介绍了,但是关于Struts2的学习有以下推荐: struts2-showcase-2.0.6.war:这个是官方自带的Demo(struts-2.0. ...

  10. 对ExtJS4应用 性能优化的几点建议

    ExtJS由于UI设计过去强悍,导致性能问题一直被大家诟病,不过到ExtJS4.1之后,性能问题相比以前的版本已有所改善,下面是官方文档给出的优化建议,李坏在此做个小小的总结,仅供大家参考. (1)合 ...