分类:C#、Android、VS2015;

创建日期:2016-02-08

一、简介

进度条对话框(ProgressDialog)常用于不能在短时间内快速完成的操作,显示进度条的目的是为了让用户明白程序正在处理的进度,避免用户感觉莫名其妙。

本示例演示了两种进度条的基本用法:条形进度条和圆形进度条。

二、示例==Demo03ProgressDialog

1、运行截图

 

2、添加Demo03_ProgressDialog.axml文件

在layout文件夹下添加该文件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/btnPprogress"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="条形进度条" />
<Button
android:id="@+id/btnCircle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="圆形进度条" />
</LinearLayout>

3、添加Demo03ProgressDialog.cs文件

在SrcActivity文件夹下添加该文件。

using System;
using Android.App;
using Android.OS;
using Android.Widget; namespace ch06demos.SrcActivity
{
[Activity(Label = "Demo03ProgressDialog")]
public class Demo03ProgressDialog : Activity
{
private int progress;
private ProgressDialog dialog; protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Demo03_ProgressDialog);
var btnProgress = FindViewById<Button>(Resource.Id.btnPprogress);
btnProgress.Click += BtnProgress_Click;
var btnCircle = FindViewById<Button>(Resource.Id.btnCircle);
btnCircle.Click += BtnCircle_Click;
} private void BtnProgress_Click(object sender, EventArgs e)
{
progress = ;
dialog = new ProgressDialog(this)
{
Progress = progress,
Indeterminate = false,
};
dialog.SetProgressStyle(ProgressDialogStyle.Horizontal);
dialog.SetTitle("条形进度条示例");
dialog.SetMessage("正在下载……");
dialog.SetIcon(Resource.Drawable.Icon);
dialog.SetCancelable(true);
dialog.SetButton("取消", delegate
{
Toast.MakeText(this, "已取消下载!", ToastLength.Long).Show();
});
dialog.Show();
RunTask(showProgress: false);
} private void BtnCircle_Click(object sender, EventArgs e)
{
progress = ;
dialog = new ProgressDialog(this)
{
Progress = progress,
Indeterminate = false
};
dialog.SetProgressStyle(ProgressDialogStyle.Spinner);
dialog.SetTitle("环转圆形进度条示例");
dialog.SetMessage("正在下载……");
dialog.SetIcon(Resource.Drawable.Icon);
dialog.SetCancelable(true);
dialog.SetButton("取消", delegate
{
Toast.MakeText(this, "已取消下载!", ToastLength.Long).Show();
});
dialog.Show();
RunTask(showProgress: true);
} //模拟长时间执行的任务
private void RunTask(bool showProgress)
{
System.Threading.Tasks.Task.Run(() =>
{
while (progress < )
{
dialog.Progress = progress++;
if (showProgress)
{
RunOnUiThread(() =>
{
dialog.SetMessage("正在下载……" + progress + "%");
});
}
System.Threading.Thread.Sleep();
}
dialog.Cancel();
});
}
}
}

运行。

【Android】6.3 ProgressDialog的更多相关文章

  1. 【Android】一种提高Android应用进程存活率新方法

    [Android]一种提高Android应用进程存活率新方法 SkySeraph Jun. 19st 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph ...

  2. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

  3. 【Android】不依赖焦点和选中的TextView跑马灯

    前言 继承TextView,并仿照源码修改而来,主要是取消了焦点和选中了判断,也不依赖文本的宽度. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民 ...

  4. 【Android】Android 移动应用数据到SD

    [Android]Android 移动应用数据到SD 在应用的menifest文件中指定就可以了,在 <manifest> 元素中包含android:installLocation 属性, ...

  5. 【Android】如何快速构建Android Demo

    [Android]如何快速构建Android Demo 简介 在 Android 学习的过程中,经常需要针对某些项目来写一些测试的例子,或者在做一些 demo 的时候,都需要先写 Activity 然 ...

  6. 【Android】IntentService & HandlerThread源码解析

    一.前言 在学习Service的时候,我们一定会知道IntentService:官方文档不止一次强调,Service本身是运行在主线程中的(详见:[Android]Service),而主线程中是不适合 ...

  7. 【转】(转)【Android】Paint的效果研究

    转自:http://wpf814533631.iteye.com/blog/1847661 (转)[Android]Paint的效果研究 博客分类: android   在Paint中有很多的属性可以 ...

  8. 【Android】首次进入应用时加载引导界面

    参考文章: [1]http://blog.csdn.net/wsscy2004/article/details/7611529 [2]http://www.androidlearner.net/and ...

  9. 【Android】【录音】Android录音--AudioRecord、MediaRecorder

    [Android][录音]Android录音--AudioRecord.MediaRecorder Android提供了两个API用于实现录音功能:android.media.AudioRecord. ...

随机推荐

  1. 解决百度编辑器在编辑视频时src丢失的问题

    问题描述:使用的是最新的UEditor 1.4.3.3版本,在上传完视频后,编辑的时候出现视频的src丢失的问题 解决方式:修改ueditor.config.js文件,将 img: ['src', ' ...

  2. 笔记本样式的EditText控件(每行均带下划虚线)

    package com.zongyi.trip.ui; import com.zongyi.trip.R; import android.annotation.SuppressLint; import ...

  3. Mac和PC在工作中管理的对比(5)

    ACLs, 企业应用必备 Windows: ACLs是Access Control Lists的缩写, 存取控制列表/访问控制列表. 它已经在大多数的现代操作系统中得到支持. 系统安全就是通过ACLs ...

  4. PyQt5——安装Eric6

    Eric6是PyQt编程最理想的IDE.windows版的安装很简单.下面的安装也是在windows上进行的.linux版的我安装有点问题,有时间再折腾. 下载: Eric6官网:http://eri ...

  5. 在 Java SE 6 中监视和诊断性能问题

    Java™ Platform, Standard Edition 6 (Java SE) 专注于提升性能,提供的增强工具可以管理和监视应用程序以及诊断常见的问题.本文将介绍 Java SE 平台中监视 ...

  6. 如何分析Java虚拟机死锁

    Thread Dump and Concurrency Locks Thread dumps are very useful for diagnosing synchronization relate ...

  7. 在VC中创建DLL文件的方法步骤

    一.Win32动态链接库 1.制作的步骤: (1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A simple DLL project类型. (2)MyDll ...

  8. 寻找SQL注入点

    如果要对一个网站进行SQL注入攻击,首先就需要找到存在SQL注入漏洞的地方,也就是寻找所谓的注入点.可能的SQL注入点一般存在于登录页面.查找页面或添加页面等用户可以查找或修改数据的地方. 最常用的寻 ...

  9. java发送email(含代理方式,ssl方式,传统方式)

    package spring.vhostall.com; import java.security.Security; import java.util.Date; import java.util. ...

  10. 谷歌浏览器禁止window.close的问题

    当一个窗口不是通过window.open或者window.showModalDialog打开的时候,调用JS的window.close() 谷歌浏览器会提示如下警告,并拒绝执行 Scripts may ...