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. D题 - A+B for Input-Output Practice (III)

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description Your ...

  2. linux c数据库备份第一版

    使用linuxC实现的mysql数据库备份目标:通过alarm信号定时备份数据库备注:目前是第一个版,本身不能定时备份可以结合linux自动化实现定时备份.运行平台:Linux或类unix测试平台:u ...

  3. spring mvc ModelAndView 404的原因

    在使用ModelAndView时不要导入 import org.springframework.web.portlet.ModelAndView; 而要导入以下这个包 import org.sprin ...

  4. ipython与python的区别

    http://mba.shengwushibie.com/itbook/BookChapter.asp?id=8745 http://www.cnblogs.com/yangze/archive/20 ...

  5. 阿里云的esc

    云服务器ecs作用如下:1.完全管理权限:对云服务器的操作系统有完全控制权,用户可以通过连接管理终端自助解决系统问题,进行各项操作:2.快照备份与恢复:对云服务器的磁盘数据生成快照,用户可使用快照回滚 ...

  6. 运用MyEclipse插件(link方式注意点)

    Windows7 中 MyEclipse 安装位置下,有以下两个目录: MyEclipse 10 Common 注意点一 Common 下的子目录是 plugins 和 features : 而在 M ...

  7. 通过GetManifestResourceStream加载文件出现错误提示“null值”对于“stream”无效[转]

    本文解决了我的问题,收藏一下. 原文地址:http://blog.sina.com.cn/s/blog_a67799f601010atz.html 在做Mobile开发时,需要引入图片,用到了这个方法 ...

  8. An Attempt to Understand Boosting Algorithm(s)

    An Attempt to Understand Boosting Algorithm(s) WELCOME! Here you will find daily news and tutorials ...

  9. 7.DropDownList的绑定

    ListView中是无法像TextBox等控件那样将DropDownList的选中值绑定到数据字段的,必须编程处理.如例子:人员的性别(男,女,保密),三个值固定写在DropDownList中. 在显 ...

  10. OpenSSH远程拒绝服务漏洞

    漏洞版本: OpenSSH 漏洞描述: Bugtraq ID:61286 OpenSSH是一种开放源码的SSH协议的实现 OpenSSH存在一个安全漏洞,允许远程攻击者利用漏洞提交恶意请求,使应用程序 ...