对话框 自定义 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, ...
随机推荐
- UBOOT的多支持性与可裁剪性
UBOOT功能强大,适用于多种操作系统,多种处理器架构. 在阅读它的源码时,可以看到cpu目录有各种处理器,而board目录有各种开发板.但是,对于一个特定的实验平台,例如TQ2440开发板,它用到的 ...
- 基于 Webpack & Vue & Vue-Router 的 SPA 初体验
基于 Webpack & Vue & Vue-Router 的 SPA 初体验 本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com ...
- 关于ueditor1.4.3版复制section标签丢失class和style样式问题
在复制微信的文章格式到ueditor时发现section标签中的style和class属性丢失,严重影响美观. 原文格式,排版清晰段落分明赏心悦目: 复制到ueditor后的格式...这跟原文是没法比 ...
- GPIO软件模拟I2C
/***************************************************************************** * * Filename: * ----- ...
- ParentWindow属性及其一系列函数的作用——适合于那些不需要父控件管理内存释放的子控件
TWinControl = class(TControl) property ParentWindow: HWnd read FParentWindow write SetParentWindow; ...
- hust-1024-dance party(最大流--枚举,可行流判断)
题意: 舞会上,男孩和女孩配对,求最大完全匹配个数,要求每个人最多与k个不喜欢的人配对,且每次都和不同的人配对. 分析: 将一个点拆成3个点. b, b1, b2. 从1到n枚举ans, 判可 ...
- LINUX怎么修改IP地址
1,先搜索了一下,得到以下解释 IP IP地址 Netmark 子网掩码 Gateway 默认网关 HostName 主机名称 DomainName 域名 DNS DNS的IP 2,需要修改的文件常有 ...
- 图论(2-sat):HDU 3062 Party
Party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- Unique Paths ——LeetCode
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- cf703A Mishka and Game
A. Mishka and Game time limit per test 1 second memory limit per test 256 megabytes input standard i ...