- 浏览: 559092 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
北月与南安:
哥哥不要秀我,答案是11.38,你算出来36.43,要求N个点 ...
平均距离 -
xiao_android_jun:
[color=red][ size=xx-small ...
Android 之 进程的概念介绍 -
明子健:
小伙子,很有前途哦
《将博客搬至CSDN》 -
1140566087:
dugujiujian 写道R.layout.simple_s ...
Android 之 下拉(Spinner) 组件示例 -
dugujiujian:
R.layout.simple_spinner_dropdow ...
Android 之 下拉(Spinner) 组件示例
各种对话测试布局文件:
主程序代码测试:
=============================自定义对话框======================================
自定义对话框布局文件
主程序入口:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/user_dialog" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="自定义对话框测试" /> <Button android:id="@+id/general_list_dialog" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="普通列表对话框测试" /> <Button android:id="@+id/multic_list_dialog" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="多选列表对话框测试" /> <Button android:id="@+id/radio_list_dialog" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="单选列表对话框测试" /> <Button android:id="@+id/adapter_list_dialog" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="提供列表项的列表对话框测试" /> </LinearLayout>
主程序代码测试:
/* * 对话框测试主入口 * @author Administrator * */ public class DialogMainActivity extends Activity { private RadioGroup color,size; private RadioButton c1,c2,c3,c4,c5,s1,s2,s3,s4,s5; private TextView textView; private Button general,multic,radio,adapter,user; // 初始化 public void init(){ user = (Button) findViewById(R.id.user_dialog); general = (Button) findViewById(R.id.general_list_dialog); multic = (Button) findViewById(R.id.multic_list_dialog); radio = (Button) findViewById(R.id.radio_list_dialog); adapter = (Button) findViewById(R.id.adapter_list_dialog); } // 程序入口 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog_main_layout); init(); // 初始化 user.setOnClickListener(listener); general.setOnClickListener(listener); multic.setOnClickListener(listener); radio.setOnClickListener(listener); adapter.setOnClickListener(listener); } /** * 普通列表对话框测试 */ public void generalListDialog(){ Builder b = new Builder(this); b.setTitle("普通列表对话框测试"); b.setIcon(R.drawable.ic_launcher); b.setItems(new String[]{"西方","南方","北方","西北方"},new OnClickListener() { public void onClick(DialogInterface dialog, int which) { // which 代表被点击的项 Toast.makeText(DialogMainActivity.this, "选中了:"+new String[]{"西方","南方","北方","西北方"}[which],Toast.LENGTH_LONG).show(); } }); b.create(); b.show(); } /** * 单选对话框测试 */ public void radioListDialog(){ Builder b = new AlertDialog.Builder(this); b.setTitle("单选列表对话框测试"); b.setIcon(R.drawable.ic_launcher); final String[] data = new String[]{"男","女","中"}; /* * 参数: 数据 默认选项 事件 */ b.setSingleChoiceItems(data, 0, new OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(DialogMainActivity.this, "选中了:"+data[which],Toast.LENGTH_LONG).show(); } }); // 确定 b.setPositiveButton("确定", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); // 取消 b.setNegativeButton("取消",new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); b.create(); b.show(); } /** * 创建多选列表对话框 */ public void multicListDialog(){ Builder b = new AlertDialog.Builder(this); b.setTitle("多选列表对话框测试"); b.setIcon(R.drawable.ic_launcher); final String[] data = new String[]{"吃饭","冲浪","散步"}; /* * 参数: 数据 默认选项 事件 */ b.setMultiChoiceItems(data, null, new OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int which, boolean isChecked) { /* which 索引 - isChecked 是否被选中 */ if(isChecked){ Toast.makeText(DialogMainActivity.this, "选中了:"+data[which],Toast.LENGTH_LONG).show(); } } }); // 确定 b.setPositiveButton("确定", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); // 取消 b.setNegativeButton("取消",new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); b.create(); b.show(); } /** * 提供列表项的对话框测试 */ public void adapterListDialog(){ Builder b = new AlertDialog.Builder(this); b.setTitle("提供列表对话框测试"); // 标题 b.setIcon(R.drawable.ic_launcher); // 图标 /* * 参数: 数据 默认选项 事件 */ // 确定 b.setPositiveButton("确定", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); // 取消 b.setNegativeButton("取消",new OnClickListener() { public void onClick(DialogInterface dialog, int which) { } }); b.create(); b.show(); } // 事件 -- 测试各种动作 private android.view.View.OnClickListener listener = new View.OnClickListener() { public void onClick(View v) { if(v.getId() == R.id.general_list_dialog){ // 普通测试 generalListDialog(); return; } if(v.getId() == R.id.user_dialog){ // 自定义测试 userDialog(); return; } if(v.getId() == R.id.radio_list_dialog){ // 单选测试 radioListDialog(); return; } if(v.getId() == R.id.multic_list_dialog){ // 多选测试 multicListDialog(); return; } if(v.getId() == R.id.adapter_list_dialog){ // 多选测试 adapterListDialog(); return; } } }; /** * 自定义对话框测试 */ public void userDialog(){ // 创建对话框对象 Builder builder = new Builder(this); builder.setTitle("字体样式选择"); // 设置标题 builder.setIcon(R.drawable.ic_launcher); // 设置图标 // 确定按钮 -- 执行预期动作 builder.setPositiveButton("确定",new OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); /* 载入自定义布局文件 -- 达成自定义的效果 */ LayoutInflater inflater = LayoutInflater.from(this); // 获取视图容器对象 // 根据视图容器获取布局对象 LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.user_dialog_item,null); builder.setView(layout); // 将布局视图显示在对话框中 // 获取自定义布局中的组件对象 color = (RadioGroup) layout.findViewById(R.id.colorRadioGroup); size = (RadioGroup) layout.findViewById(R.id.sizeRadioGroup); c1 = (RadioButton) layout.findViewById(R.id.c1); c2 = (RadioButton) layout.findViewById(R.id.c2); c3 = (RadioButton) layout.findViewById(R.id.c3); c4 = (RadioButton) layout.findViewById(R.id.c4); s1 = (RadioButton) layout.findViewById(R.id.s1); s2 = (RadioButton) layout.findViewById(R.id.s2); s3 = (RadioButton) layout.findViewById(R.id.s3); s4 = (RadioButton) layout.findViewById(R.id.s4); // 设置监听器 color.setOnCheckedChangeListener(radioListener); size.setOnCheckedChangeListener(radioListener); /* ------------------------------------------------------------------ */ // 取消按钮,点击取消对话框 builder.setNegativeButton("取消",new OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); builder.create(); // 创建 builder.show(); // 显示 } // RadioGroup 事件改变监听器 private OnCheckedChangeListener radioListener = new OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { if(checkedId == c1.getId()){ // Toast.makeText(DialogMainActivity.this,"字体颜色", 1000).show(); } if(checkedId == s1.getId()){ Toast.makeText(DialogMainActivity.this,"字体大小", 1000).show(); } } }; }
=============================自定义对话框======================================
自定义对话框布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/user_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="vertical" android:padding="15dp" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="请看这里" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="颜色选择:" /> <RadioGroup android:id="@+id/colorRadioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/c1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/c2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/c3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/c4" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RadioGroup> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="颜色选择:" /> <RadioGroup android:id="@+id/sizeRadioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/s1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/s2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/s3" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioButton android:id="@+id/s4" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RadioGroup> </LinearLayout> </LinearLayout>
主程序入口:
- dialog.rar (1.2 MB)
- 下载次数: 8
发表评论
-
Android 之 网络访问服务器,解析JSON数据
2014-03-28 22:50 3415提示:在访问网络,或者服务器的数据一定要注意 网络权限的声明: ... -
Android 之 AsyncTask 异步任务
2014-03-20 08:44 3522Android ... -
Android 之 Looper Handler Message 之间的关系
2014-03-19 10:16 3665Android 的消息 ... -
Android 之 多线程与Socket联合使用案例
2014-03-19 10:15 2673多线 ... -
Android 之 多线程和Socket套接字的使用介绍
2014-03-19 10:15 4884And ... -
Android 之 实现Runnable 接口与继承Thread的区别
2014-03-19 10:15 2199实现Runnable 接口 相 ... -
Android 之 GSON解析JSON数据
2014-03-19 10:14 4490... -
Android 之 使用Pull 解析xml文件
2014-03-18 21:04 1045/** * 使用Pull进行 xml 文件的解析 ... -
Android 之 使用DOM解析xml文件
2014-03-18 21:02 2745DOM 解析 xml 格式的文件 1、 xml简介:xml ... -
Android 之 百度API 密钥安全码生成
2014-03-04 22:29 2413近期要做个关于旅游助手的应用,开始接触百度API了。大神们 ... -
Android 之 EditText属性用法介绍
2014-01-06 23:49 3990EditText的属性 EditText继承关系:View-- ... -
Android 之 自定义适配器
2014-01-08 10:40 1773自定义适配器 1、实现 * 自定义适配器要继承 BaseA ... -
Android 之 自定义控件用法介绍
2014-01-08 10:40 1719自定义效果:实现:图片和文字混合 首先创建需要组合的子布局: ... -
Android 之 资源自适应与国际化
2014-01-08 10:40 3080<!-- 国际化和资源自适应 ... -
Android 之 Parcelable 序列化
2014-01-08 10:41 2698/* 序列化 * * 作 ... -
Android 之 五大布局案例
2014-01-08 10:41 21331、LinearLayout 线性布局例子: <Lin ... -
Android 之 通知Notification
2014-03-03 22:30 3897Notification 和 NotificationMana ... -
Android 之 手机全屏显示
2014-03-03 22:30 2344/* 1、全屏状态的显示 介绍:Android 中提供了Wi ... -
Android 之 拦截手机短信并自动转发
2014-03-03 22:29 5436拦截短信和发送短信都需要相关的权限: <?xml ve ... -
Android 之 将RAW资源文件写入SD卡工具类
2014-03-01 10:09 3614package com.sun.coptfiletosd; ...
相关推荐
在给定的“Android之对话框Dialog(博客源码)”资源中,我们可以学习到如何在Android应用中实现三种不同类型的对话框:时间弹框、自定义弹框以及等待弹框。 首先,我们来详细了解一下时间弹框。时间弹框通常用于让...
总结,创建一个具有选择功能的对话框在Android开发中是一项常见的任务。通过使用AlertDialog及其Builder,开发者可以轻松地构建出符合用户需求的交互式对话框,提高应用的用户体验。在实际开发中,应根据具体场景...
本篇文章将深入探讨如何在Delphi XE5环境下创建和使用Android对话框。 首先,我们需要了解Delphi XE5的FireMonkey(FMX)框架。它是Delphi和C++Builder用于跨平台开发的统一界面层,支持Windows、Mac OS X、iOS以及...
总结起来,创建具有圆角和毛玻璃效果的对话框是Android开发中的常见需求,可以通过自定义布局、使用`RenderScript`进行模糊处理以及调整`DialogFragment`的设置来实现。同时,`PopupWindow`提供了更丰富的自定义选项...
一、Android对话框基础 在Android中,对话框通常用于向用户显示临时信息或进行简单的交互。系统提供了几种内置的对话框类型,如AlertDialog、ProgressDialog和DatePickerDialog等。然而,这些预设的对话框样式可能...
总结起来,Android中的进度对话框是提升用户体验的重要工具,正确使用它可以有效地告知用户应用的状态,避免用户感到不耐烦。无论是简单的不定量对话框还是显示具体进度的条形对话框,都需要根据实际任务特性来选择...
总结,自定义加载对话框是Android开发中的重要技能,它允许开发者创造出与应用整体风格一致的加载提示。通过自定义布局、扩展Dialog类以及正确管理显示和关闭逻辑,我们可以轻松实现这一功能。同时,结合通用布局,...
### Android对话框样式详解 在Android开发过程中,对话框(Dialog)是常用的一种UI组件,用于向用户展示信息、请求用户输入或确认等操作。合理地定制对话框样式不仅可以提升应用的整体美观度,还能增强用户体验。...
下面将详细解释Android对话框的基本概念、创建方式以及自定义方法。 1. **对话框类型** - **AlertDialog**: 常见的对话框类型,包含标题、内容和按钮。可以通过`AlertDialog.Builder`来构建。 - **ProgressDialog...
下面将详细探讨Android对话框的基本概念、类型及其使用方法。 一、对话框基本概念 对话框在Android中是基于Activity的一个子窗口,它浮现在当前界面之上,用于提供一种与用户交互的方式。对话框通常用于显示警告...
总结,Android自定义对话框涉及到的知识点包括Android UI设计、样式和主题的使用、事件处理、类的继承与重写以及可能的第三方库集成。通过这个源码资源,开发者可以学习到如何构建一个功能完整、样式独特的对话框,...
总结来说,Android对话框是应用中不可或缺的组件,通过源码学习和第三方库的利用,开发者可以创造出功能丰富且具有视觉冲击力的对话框,提高用户与应用的互动体验。理解并熟练掌握对话框的使用,将有助于提升Android...
总结,Android的对话框机制为开发者提供了丰富的选择,可以根据应用场景灵活选用Alert Dialog、Progress Dialog、DatePicker/TimePicker Dialog或者自定义Dialog,以实现更符合用户需求的交互体验。在实际项目中,要...
在Android开发中,Dialog对话框是一种常见的用户交互组件,它用于在主界面之上显示一个临时窗口,用于提示信息、确认操作或提供选择项。本文将深入探讨`Android-Dialog`对话框的相关知识点,并结合源码分析,以帮助...
本文将全面总结Android对话框的使用及其关键知识点。 首先,Activity类提供了一套完整的对话框管理机制,包括`onCreateDialog(int)`、`onPrepareDialog(int, Dialog)`、`showDialog(int)`和`dismissDialog(int)`等...
总结一下,Android的ProgressDialog是一个在后台任务执行时向用户展示进度的组件。虽然在新版本的Android中被弃用,但它仍然是学习Android UI和异步处理的重要知识点。理解ProgressDialog的工作原理和替代方案,可以...
### Android对话框(Dialog)详解 #### 一、引言 在Android开发中,对话框是一种常见的用户交互组件,用于向用户提供临时的信息展示或收集用户的输入。本文将深入探讨Android中的对话框机制,并通过具体的代码示例...
简单的总结:自定义对话框有如下步骤。 1.自定义对话框样式(R.style.xxx) 2.自定义对话框布局(R.layout.xxx) 3.通过Dialog构建对话框(Dialog.setContentView(R.layout.xxx)) 4.处理事件和业务逻辑(按钮,列表,...
总结来说,仿腾讯的Android下载对话框动画涉及了Android自定义View的创建、图形绘制、动画实现以及与后台任务的交互等多个关键知识点。理解并实践这些技术,不仅能够提升开发者的设计能力,还能加深对Android系统...