<?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
}
}
};
}
分享到:
相关推荐
* 该Demo涉及了BaseAdapter,ProgressBar,Handler,Thread,线程池; * * Android-扩展BaseAdapter实现progressBar下载 * 1.创建listview的xml * 2.创建listview中填充的xml * 3.创建继承BaseAdapter的...
需求场景:当我们在使用ProgressBar的时候,希望有进度加载的效果,此时我们传统的做法是使用Thread线程来实现,下面我们用属性动画来实现,简单粗暴。。哈哈哈 布局文件: <?xml version=1.0 encoding=utf-8?&...
android中的ProgressBar提供的样式中,没有包括竖向进度,参考的基础上http://www.eoeandroid.com/thread-278778-1-1.html,进行了一些调整,希望对大家有所帮助,下载包中包括自己修改后和原作者的
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 ...
public static ProgressBar pb_thread; // 显示进度的操作 private TextView tv_pb; // 线程的数量 public static int threadNum = 3; // 每个线程负责下载的大小 public int blockSize; public static ...
优化了UI,综合运用了seletor,handler,thread,adapter,progressbar,sharedpreference,文件读写,坐标换算,onTouch事件监听处理,重写view实现灰色蒙板等效果(没有做多点触屏因为太麻烦了)等,对新人系统运用安卓...
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 使用的优点: 简单,快捷 过程...
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...
├─ch02 │ └─ch02_showdatetime │ ├─assets │ ├─bin │ │ └─net │ │ └─blogjava │ │ └─mobile │ ├─gen │ │ └─net │ │ └─blogjava │ │ └─mobile ...│ │ └─src...
new Thread(new Runnable() { @Override public void run() { try { FileDownloader loader = new FileDownloader(DownloadActivity.this, path, dir, 3); int length = loader.getFileSize()...
异步/等待Android的Kotlin库使用async / await方法以更简单,更可靠的方式编写异步代码,例如: async { progressBar.visibility = View . VISIBLE // Release main thread and wait until text is loaded in ...
// 进度条 public static ProgressBar pb_thread; // 显示进度的操作 private TextView tv_pb; // 线程的数量 public static int threadNum = 3; // 每个线程负责下载的大小 public int blockSize; public static ...
Thread.wait()或是Thread.sleep()。替代的方法是,主线程应该为子线程提供 一个Handler,以便完成时能够提交给主线程。以这种方式设计你的应用程序, 将能保证你的主线程保持对输入的响应性并能避免由于5秒输入事件...