`
luckfox
  • 浏览: 64523 次
  • 性别: Icon_minigender_1
  • 来自: 台灣
社区版块
存档分类
最新评论

Android的Thread & ProgressBar

阅读更多
<?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"
    >
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressbar_default"
/>
<ProgressBar
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:id="@+id/progressbar_Horizontal"
android:max="100"
/>

</LinearLayout>


//-----------------------soruce code--------------------------------
package android.demo.thread0;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;

public class Thread0_Activity extends Activity 
{

	ProgressBar bar0;
	ProgressBar bar1;
	boolean isRunning=false;
	
	
	Handler handler=new Handler() 
	{
        public void handleMessage(Message msg)//會從Message Queue取出Message 
        {
            bar0.incrementProgressBy(5);
            bar1.incrementProgressBy(5);
        }
    };



    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        bar0 = (ProgressBar)findViewById(R.id.progressbar_Horizontal);
        bar1 = (ProgressBar)findViewById(R.id.progressbar_default);
    }

    @Override
    public void onStart() 
    {
        super.onStart();
        bar0.setProgress(0);
        bar1.setProgress(0);

        //Thread background=new Thread(run0);
       // background.start();
        
        ProgressThread ProgressThread0=new ProgressThread();
        ProgressThread0.start();
    }
    
    private	Runnable run0=new Runnable()
	{

    	@Override
    	public void run()
    	{
    		// TODO Auto-generated method stub
    		try 
    		{
    			for (int i=0;i<20 /*&& isRunning*/;i++) 
    			{
    				Thread.sleep(1000);
    				handler.sendMessage(handler.obtainMessage());
    			}
    		}
    		catch (Throwable t) 
    		{
                    // just end the background thread
    		}
    	}
	};
	public class ProgressThread extends Thread
	{
		public void run()
		{
    		try 
    		{
    			for (int i=0;i<20 /*&& isRunning*/;i++) 
    			{
    				sleep(1000);
    				handler.sendMessage(handler.obtainMessage());
    			}
    		}
    		catch (Throwable t) 
    		{
                    // just end the background thread
    		}
		}
	};


}
分享到:
评论

相关推荐

    Android-扩展BaseAdapter实现progressBar下载

    * 该Demo涉及了BaseAdapter,ProgressBar,Handler,Thread,线程池; * * Android-扩展BaseAdapter实现progressBar下载 * 1.创建listview的xml * 2.创建listview中填充的xml * 3.创建继承BaseAdapter的...

    Android使用动画设置ProgressBar进度的方法

    需求场景:当我们在使用ProgressBar的时候,希望有进度加载的效果,此时我们传统的做法是使用Thread线程来实现,下面我们用属性动画来实现,简单粗暴。。哈哈哈 布局文件: &lt;?xml version=1.0 encoding=utf-8?&...

    android竖向进度条简单实现

    android中的ProgressBar提供的样式中,没有包括竖向进度,参考的基础上http://www.eoeandroid.com/thread-278778-1-1.html,进行了一些调整,希望对大家有所帮助,下载包中包括自己修改后和原作者的

    Introduction.to.Android.Application.Development(4th,2013.12) pdf

    Indicating Progress with ProgressBar 199 Indicating Activity with Activity Bars and Activity Circles 202 Adjusting Progress with Seek Bars 202 Other Valuable User Interface Controls 203 Displaying ...

    android多线程下载代码

    public static ProgressBar pb_thread; // 显示进度的操作 private TextView tv_pb; // 线程的数量 public static int threadNum = 3; // 每个线程负责下载的大小 public int blockSize; public static ...

    android图片处理大师

    优化了UI,综合运用了seletor,handler,thread,adapter,progressbar,sharedpreference,文件读写,坐标换算,onTouch事件监听处理,重写view实现灰色蒙板等效果(没有做多点触屏因为太麻烦了)等,对新人系统运用安卓...

    android AsyncTask详细介绍

    AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 使用的优点: 简单,快捷 过程...

    应用启动页自定义跳转计时器View Demo

    import android.content.Context; import android.content.res.ColorStateList; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics...

    ophone&android 开发完全讲义随书源码

    ├─ch02 │ └─ch02_showdatetime │ ├─assets │ ├─bin │ │ └─net │ │ └─blogjava │ │ └─mobile │ ├─gen │ │ └─net │ │ └─blogjava │ │ └─mobile ...│ │ └─src...

    android 多线程多任务断点下载

    new Thread(new Runnable() { @Override public void run() { try { FileDownloader loader = new FileDownloader(DownloadActivity.this, path, dir, 3); int length = loader.getFileSize()...

    AsyncAwait:基于Kotlin 1.1中引入的协程构建的Android asyncawait

    异步/等待Android的Kotlin库使用async / await方法以更简单,更可靠的方式编写异步代码,例如: async { progressBar.visibility = View . VISIBLE // Release main thread and wait until text is loaded in ...

    android中多线程下载实例

    // 进度条 public static ProgressBar pb_thread; // 显示进度的操作 private TextView tv_pb; // 线程的数量 public static int threadNum = 3; // 每个线程负责下载的大小 public int blockSize; public static ...

    andriod精华学习教程

    Thread.wait()或是Thread.sleep()。替代的方法是,主线程应该为子线程提供 一个Handler,以便完成时能够提交给主线程。以这种方式设计你的应用程序, 将能保证你的主线程保持对输入的响应性并能避免由于5秒输入事件...

Global site tag (gtag.js) - Google Analytics