此例子源于网络,下载下来之后,自己加了写注释,作为总结,发到博客中,谢谢原作者

通过这个例子学到的东西

1.自定义对话框的使用

2.程序中使用颜色如何进行存放,增加复用性

3.加深线性布局、常用控件的使用

1.实现效果

2.颜色值文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="white">#FFFFFF</drawable>
<color name="White">#FFFFFF</color>
<color name="Black">#000000</color>
<color name="grey">#D7D4D4</color>
<color name="red">#FF0000</color> </resources>

3.第一个界面布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:orientation="vertical"> <LinearLayout
android:orientation="vertical"
android:background="@drawable/alert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"> <TextView android:id="@+id/dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:textColor="#ffffff"
android:textStyle="bold"
android:textSize="17sp"
android:text="About to call 323"/> <TextView android:id="@+id/dialog_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:gravity="center_horizontal"
android:textSize="15sp"
android:textColor="#ffffff"
android:text="Are you sure you want to proceed?" /> <Button
android:id="@+id/ok"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:layout_marginBottom="10dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:background="@drawable/custom_button"
android:textColor="@color/White"
android:textSize="17sp"
android:textStyle="bold"
android:text="OK"/>
</LinearLayout>
</LinearLayout>

4.第二个界面的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:orientation="vertical"> <LinearLayout
android:orientation="vertical"
android:background="@drawable/alert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"> <TextView android:id="@+id/dialog_title_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:textColor="#ffffff"
android:textStyle="bold"
android:textSize="17sp"
android:text="About to call 323"/> <TextView android:id="@+id/dialog_message_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:gravity="center_horizontal"
android:textSize="15sp"
android:textColor="#ffffff"
android:text="Are you sure you want to proceed?" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:layout_marginTop="10dip"
android:gravity="center_horizontal"
android:orientation="horizontal" > <Button
android:id="@+id/cancel_2"
android:layout_width="0dip"
android:layout_height="40dip"
android:layout_gravity="left"
android:layout_marginLeft="10dip"
android:layout_weight="1"
android:background="@drawable/custom_button"
android:text="取消"
android:textColor="@color/White"
android:textStyle="bold" /> <Button
android:id="@+id/ok_2"
android:layout_width="0dip"
android:layout_height="40dip"
android:layout_marginBottom="10dip"
android:layout_marginRight="10dip"
android:layout_weight="1"
android:background="@drawable/custom_button"
android:text="确定"
android:textColor="@color/White"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

5.核心代码文件

public class MainActivity extends Activity {

    private Button btn;
private Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.btn1); /**增加监听事件**/
btn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View view) {
// TODO Auto-generated method stub
showCustomMessageOK("提示信息","不能进行此项操作");
} }); btn2 = (Button) findViewById(R.id.btn2);
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
showCustomMessageOKAndCancle("温馨提示","是否确认退出");
}
});
} /**
* 实现一个带有确定和取消按钮的对话框
* @param title
* @param message
*/
protected void showCustomMessageOKAndCancle(String title, String message) {
// TODO Auto-generated method stub /**
* 创建一个Dialog对象,Dialog有两个构造法方法
* 1.
*
*
**/
final Dialog dialog = new Dialog(MainActivity.this, android.R.style.Theme_Translucent_NoTitleBar); /**为Dialog加载布局文件**/
dialog.setContentView(R.layout.ok_cancle_dialog_view);
/**为设置相应的属性值**/
((TextView)dialog.findViewById(R.id.dialog_title_2)).setText(title);
((TextView)dialog.findViewById(R.id.dialog_message_2)).setText(message);
((Button) dialog.findViewById(R.id.cancel_2)).setOnClickListener(new OnClickListener() { @Override
public void onClick(View view) {
// TODO Auto-generated method stub
dialog.dismiss();
}
}); ((Button) dialog.findViewById(R.id.ok_2)).setOnClickListener(new OnClickListener() { @Override
public void onClick(View view) {
// TODO Auto-generated method stub
MainActivity.this.finish();
System.exit(0);
}
});
dialog.show();
}
/**
* 创建一个只有确定按钮的对话框
* @param title
* @param message
*/
private void showCustomMessageOK(String title, String message) {
// TODO Auto-generated method stub
final Dialog dialog = new Dialog(MainActivity.this, android.R.style.Theme_Translucent_NoTitleBar);
dialog.setContentView(R.layout.ok_dialog_view);
((TextView) dialog.findViewById(R.id.dialog_title)).setText(title);
((TextView) dialog.findViewById(R.id.dialog_message)).setText(message);
((Button) dialog.findViewById(R.id.ok)).setText("OK");
((Button) dialog.findViewById(R.id.ok)).setOnClickListener(new OnClickListener() { @Override
public void onClick(View view) {
// TODO Auto-generated method stub
dialog.dismiss();
}
}); dialog.show();
}
}

代码下载地址

Android简单例子——IpHone样式AlertDialog的更多相关文章

  1. Android简单例子——AlertDialog

    最近学习了一段时间的Android,在网上找了些小的Demo,自己模拟这做了下,首先谢谢那些提供例子的朋友 今天主要学习的是简单的Dialog的使用(实现退出对话框)和自定义对话框 1.实现退出对话框 ...

  2. android 简单列表对话框(AlertDialog.Builder().setItems())

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  3. android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】

    android json解析及简单例子+Android与服务器端数据交互+Android精彩案例[申明:来源于网络] android json解析及简单例子:http://www.open-open. ...

  4. Android 自定义RadioButton的样式

    Android 自定义RadioButton的样式 我们知道Android控件里的button,listview可以用xml的样式自定义成自己希望的漂亮样式. 最近用到RadioButton,利用xm ...

  5. Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式的解释)

    在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManife ...

  6. Android简单逐帧动画Frame的实现(二)

    Android简单逐帧动画Frame的实现   Android简单逐帧动画Frame的实现 1.逐帧动画 即是通过播放预先排序好的图片来实现动态的画面,感觉像是放电影. 2.实现步骤: 1. 在工程里 ...

  7. Android中无标题样式和全屏样式学习

    在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManife ...

  8. Hibernate4.2.4入门(一)——环境搭建和简单例子

    一.前言 发下牢骚,这段时间要做项目,又要学框架,搞得都没时间写笔记,但是觉得这知识学过还是要记录下.进入主题了 1.1.Hibernate简介 什么是Hibernate?Hibernate有什么用? ...

  9. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答

    一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...

随机推荐

  1. django 项目部署在 Apache 后, 设置二级域名(Apache虚拟主机 、 万网二级域名设置)

    上一篇文章简单说了怎么把django的项目部署到Apache上. 现在想弄个二级域名,也就是我原来有个域名 www.mysite.com,现在我想弄个 bbs.mysite.com ,该怎么做呢. 要 ...

  2. strcmp函数实现及分析

    最近看C,看到strcmp函数,对它的实现原型不很清楚,于是到网上搜.网上算法一大堆,看了很多代码后自己做了一下总结 strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果 ...

  3. Xcode插件筛选

    Xcode高效插件推荐 好像很多iOS开发的同学都不知道Xcode有插件这么一说,所以整理了一下自己用的Xcode高效插件,分享给大家 下列插件在Xcode 7.0.1 版本做测试通过可以使用 在Xc ...

  4. Bzoj 2141: 排队 分块,逆序对,树状数组

    2141: 排队 Time Limit: 4 Sec  Memory Limit: 259 MBSubmit: 1310  Solved: 517[Submit][Status][Discuss] D ...

  5. SecureCRT 实用配置

    SecureCRT,是一款支持 SSH2.SSH1.Telnet.Telnet/SSH.Relogin.Serial.TAPI.RAW 等协议的终端仿真程序,最吸引我的是,SecureCRT 支持标签 ...

  6. 一步一步制作yaffs/yaffs2根文件系统(七)---真挚地道歉以及纠正前边出现的错误!

    接上一节http://blog.csdn.net/mybelief321/article/details/10040939 说实话,我当时写这个系列的博文的时候,感觉对BusyBox算是有点了解,直到 ...

  7. 推荐一个很好的富文本web编辑器UEditor

    前天产品提了一个编辑器的bug,本人找是找到了问题的症结,就是不好改.框架是压缩兼混淆后的代码.查一下,好多年前的框架... 咨询了一个同事有关旧框架的事情,他也建议我升级编辑器并帮忙帮我找了UEdi ...

  8. [Java 8] (5) 使用Lambda表达式进行设计

    使用Lambda表达式进行设计 在前面的几篇文章中,我们已经见识到了Lambda表达式是怎样让代码变的更加紧凑和简洁的. 这一篇文章主要会介绍Lambda表达式怎样改变程序的设计.怎样让程序变的更加轻 ...

  9. thinkphp连接oracle

    配置文件中: //Oracle 测试环境    'DB_TYPE'     => 'Oracle',             // 数据库类型    'DB_HOST'     => '1 ...

  10. vmware9.0 安装ios10.8应该注意的地方

    今天终于在我的thinkpad t400上面按照好了ios系统 我的硬件配置:cpu:p8700,内存:ddr3,6g 安装的版本:ios10.8 vmware的版本是vmware9.0 安装好的io ...