对话框 自定义 IOS风格 包青天
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) {@Overridepublic 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);}//***************************************************三个按钮的点击事件***************************************@Overridepublic 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"><TextViewandroid: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"/><ImageViewandroid:id="@+id/iv_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:src="@drawable/icon_email"/><TextViewandroid: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"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="1dip"android:layout_marginTop="10dp"android:background="#D1D1D1"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid: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"/><LinearLayoutandroid:id="@+id/line_left"android:layout_width="1dp"android:layout_height="match_parent"android:background="#D1D1D1"android:orientation="horizontal"/><Buttonandroid: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"/><LinearLayoutandroid:id="@+id/line_right"android:layout_width="1dp"android:layout_height="match_parent"android:background="#D1D1D1"android:orientation="horizontal"android:visibility="gone"/><Buttonandroid: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"?><shapexmlns: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"?><shapexmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><!-- 填充的颜色 --><solid android:color="#FFFFFF" /><!-- 设置按钮的四个角为弧形 --><!-- android:radius 弧形的半径 --><corners android:bottomLeftRadius="15px" /></shape>
对话框 自定义 IOS风格 包青天的更多相关文章
- JS实现IOS风格对话框 jquery / zepto
Alert alert("这个是一个alert弹窗"); Alert 自定义参数 alert({ content: "自定义alert弹窗", btnText: ...
- 使用Quasar设计Material和IOS风格的响应式网站
使用Quasar设计Material和IOS风格的响应式网站 栏目: CSS · 发布时间: 8个月前 来源: segmentfault.com 本文转载自:https://segmentfaul ...
- 构建 iOS 风格移动 Web 应用程序的8款开发框架
使用 HTML5,CSS3 和 JavaScript 开发移动应用经过实践证明是一种可行的方式.这里收录了几款 iOS 风格的手机应用程序开发框架,帮助您使用擅长的 Web 技术来开发移动应用程序.这 ...
- 使用 iosOverlay.js 创建 iOS 风格的提示和通知
iosOverlay.js 用于在 Web 项目中实现 iOS 风格的通知和提示效果.为了防止图标加载的时候闪烁,你需要预加载的图像资源.不兼容 CSS 动画的浏览器需要 jQuery 支持.浏览器兼 ...
- PhotoSwipe - 移动开发必备的 iOS 风格相册
PhotoSwipe 是一个专门针对移动设备的图像画廊,它的灵感来自 iOS 的图片浏览器和谷歌移动端图像. PhotoSwipe 提供您的访客熟悉和直观的界面,使他们能够与您的移动网站上的图像进行交 ...
- 使用jQuery开发iOS风格的页面导航菜单
在线演示1 本地下载 申请达人,去除赞助商链接 iOS风格的操作系统和导航方式现在越来越流行,在今天的jQuery教程中,我们将介绍如何生成一个iphone风格的菜单导航. HTML代码 我们 ...
- Windows 8实例教程系列 - 自定义应用风格
原文:Windows 8实例教程系列 - 自定义应用风格 在Windows 8 XAML实例教程中,曾经提及过应用风格设计方法以及如何创建可复用样式代码.本篇将深入讨论如何创建自定义Windows8应 ...
- Android系统对话框——自定义关闭
Android系统对话框--自定义关闭 Dialog是我们在项目中经常用到的,5.x以后的Dialog也很好看,很安卓风,Android也给我们提供了新的包,低版本可以显示一样的效果.我们在使用的导入 ...
- ToastCustom【自定义显示风格的Toast】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 基于系统Toast的自定义显示风格的Toast. 效果图 代码分析 ToastCustom类基于系统Toast,不是继承Toast, ...
随机推荐
- DEDECMS 关键字不能小于2个字节!
今天在做DEDECMS模板时,突然遇到了“关键字不能小于2个字节!”晕,是怎么回事呢?百度了一下,找到了答案,把他记录下来,方便自己日后再遇到这种问题时,可以查询: <form name=&qu ...
- ACM组队安排
Problem Description ACM亚洲区比赛结束,意味着开始备战明年的浙江省大学生程序设计竞赛了! 杭州电子科技大学ACM集训队也准备开始组队. 教练想把所有的n个队员组成若干支队 ...
- 分布式系统间通信之RPC简单Demo(七)
看似终点,回到起点.第一次接触C#,编写的第一个真正的Demo是基于Socket的简单通信,现在JAVA开始的第一个RPC的Demo也是基于Socket.. 下面通过java原生的序列化,Socket ...
- JSP的优势与劣势浅析
本文简单介绍了JSP技术,并对JSP的优势与劣势进行了简单的分析.JSP页面由HTML代码和嵌入其中的Java代码所组成. JSP(JavaServer Pages)是由Sun Microsystem ...
- ubuntu 解压rar
Ubuntu下解压rar文件的方法 一般通过默认安装的ubuntu是不能解压rar文件的,只有在安装了rar解压工具之后,才可以解压.其实在ubuntu下安装rar解压工具是非常简单的,只需要两个步骤 ...
- My ECMAScript 7 wishlist
With ECMAScript 6 now feature complete, any further changes to the core of JavaScript will happen in ...
- Struts2接收checkbox的值
Struts2接收checkbox的值: HTML: <input type="checkbox" name="ssl" value="B1 ...
- mysql 安装补充
1:假如下载的文件名为:mysql-5.0.45.tar.gz 2:假如copy到 /usr/local下 3:groupadd mysql #添加mysql组 4:useradd -g mysql ...
- 2015 CCC - 01 统计数对
源:CNUOJ-0384 http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=354 题目分析:当时拿到这道题第一个想法就是排序后n^2暴 ...
- 学习Javascript闭包(Closure) by 阮一峰
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域 ...