本文实例讲述了AndroID编程实现显示在标题上的进度条功能。分享给大家供大家参考,具体如下:
今天我们来学习一下AndroID中显示在Activity标题上的进度条。在这个例子当中我们还能够学习到很多关于AsyncTask的知识。
(1)准备用于显示到界面上的四张图片img01,img02,img03,img04
(2)在Activity的布局文件activity_main.xml中只定义一个线性布局linearLayout,并为其设置一个ID,代码如下:
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:orIEntation="vertical" androID:ID="@+ID/main_layout"></linearLayout>
(3)Java代码部分,通过requestwindowFeature(Window.FEATURE_PROGRESS);
语句设置Activity标题栏为有进度条风格,然后实例化并启动一个MyTask对象,代码如下:
public class MainActivity extends Activity { //图片ID数组 private int[] imageIDs = { R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04 }; private linearLayout mainLayout; /** * Activity的入口方法 */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置标题栏有进度条 requestwindowFeature(Window.FEATURE_PROGRESS); setContentVIEw(R.layout.activity_main); mainLayout = (linearLayout)findVIEwByID(R.ID.main_layout); //实例化MyTask并开始执行 new MyTask().execute(); } @OverrIDe public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main,menu); return true; } /** * 自定义继承AsyncTask的异步类MyTask */ class MyTask extends AsyncTask<VoID,Integer,linearLayout>{ /** * 在doInBackground()方法之前执行的方法 */ @OverrIDe protected voID onPreExecute() { super.onPreExecute(); //设置标题栏的进度条可见 setProgressbarVisibility(true); } /** * 后台执行的耗时 *** 作 */ @OverrIDe protected linearLayout doInBackground(VoID... params) { linearLayout ll = new linearLayout(MainActivity.this); ll.setorIEntation(linearLayout.VERTICAL); ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); for(int i=1; i<5; i++){ ImageVIEw iv = new ImageVIEw(MainActivity.this); iv.setLayoutParams(new LayoutParams(200,100)); iv.setimageResource(imageIDs[i-1]); ll.addVIEw(iv); new Thread(){ public voID run() { try { //休眠20毫秒 Thread.sleep(20); } catch (Exception e) { e.printstacktrace(); } }; }.start(); //要求更新进度条,会引起调用onProgressUpdate()方法 publishProgress(i); } return ll; } /** * 更新进度条 */ @OverrIDe protected voID onProgressUpdate(Integer... values) { super.onProgressUpdate(values); //参数值为0-10000,所以要乘以2500,values[0]取值分别是1,2,3,4 setProgress(values[0] * 2500); } /** * 后台 *** 作执行完毕后所要执行的方法 */ @OverrIDe protected voID onPostExecute(linearLayout result) { super.onPostExecute(result); mainLayout.addVIEw(result); } }}
右键运行androID project,效果如下:
@H_404_24@
进度条执行完毕后,界面会显示四张图片。
附:完整实例代码点击此处本站下载。
更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体 *** 作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家AndroID程序设计有所帮助。
您可能感兴趣的文章:Android实现标题上显示隐藏进度条效果Android 进度条显示在标题栏的实现方法Android 七种进度条的样式android自定义进度条渐变色View的实例代码Android文件下载进度条的实现代码Android中自定义进度条详解Android三种方式实现ProgressBar自定义圆形进度条Android编程之ProgressBar圆形进度条颜色设置方法Android自定义水平进度条的圆角进度Android编程实现自定义进度条颜色的方法Android ProgressDialog进度条使用详解 总结以上是内存溢出为你收集整理的Android编程实现显示在标题上的进度条功能【附源码下载】全部内容,希望文章能够帮你解决Android编程实现显示在标题上的进度条功能【附源码下载】所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)