分类: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. linux 目录结构(转)

    原文:http://www.centoscn.com/CentOS/2014/1222/4347.html linux 目录结构 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin ...

  2. js-form表单元素的自定义属性

      form表单元素的自定义属性 CreateTime--2016年9月22日09:03:40 Author:Marydon 场景: <script type="text/javasc ...

  3. Adaptive Thresholding & Otsu’s Binarization

    Adaptive Thresholding Adaptive Method - It decides how thresholding value is calculated. cv2.ADAPTIV ...

  4. WINDOWS操作系统中可以允许最大的线程数

      默认情况下,一个线程的栈要预留1M的内存空间 而一个进程中可用的内存空间只有2G,所以理论上一个进程中最多可以开2048个线程 但是内存当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小.  ...

  5. 【云栖大会】阿里巴巴集团CTO张建锋:用计算和数据去改变整个世界

    摘要: 当浩瀚的数字化信息能够联网在线,在万物互联网的新世界中,所有东西都可能有感知.变智能,想象一下电表.冰箱.心电图监测仪等设备的信息都能数字化并联网,从城市管理到个人生活,都会迎来翻天覆地的变化 ...

  6. 【laravel5.4】 Composer移除依赖

    1.在一次使用composer安装依赖的时候,安装错了包,在其中文网站却找不到移除依赖的命令,只好使用按照官网说法: 为了从命令行获得帮助信息,请运行 composer 或者 composer lis ...

  7. Spring MVC Beginner’s Guide勘误表

    - 17 submitted: last submission 09 Dec 2016 Page number: 213 Qauntity should be: Quantity Page numbe ...

  8. Archlive新年第一棒: 基于2.6.37稳定内核的archlive20110107

    先上图,再来说明吧... 下载地址: http://u.115.com/file/t2cd0ea120 先上个本机器运行teamviewer的效果图吧... 如假包换的 2.6.37,  担保是目前最 ...

  9. HDUOJ-------(1022)Train Problem I

    Train Problem I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  10. firefox 前端开发插件

    http://blog.csdn.net/xjinza/article/details/6856249