Android中显示在标题上的进度条
2014-04-18 11:02
489 查看
今天我们来学习一下Android中显示在Activity标题上的进度条。在这个例子当中我们还能够学习到很多关于AsyncTask的知识。
(1)准备用于显示到界面上的四张图片img01,img02,img03,img04
(2)在Activity的布局文件activity_main.xml中只定义一个线性布局LinearLayout,并为其设置一个id,代码如下:
(3)Java代码部分,通过requestWindowFeature(Window.FEATURE_PROGRESS);语句设置Activity标题栏为有进度条风格,然后实例化并启动一个MyTask对象,代码如下:
进度条执行完毕后,界面会显示四张图片。
最后附上源码下载地址:
Android中显示在标题栏上的进度条实现
(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,效果如下:
进度条执行完毕后,界面会显示四张图片。
最后附上源码下载地址:
Android中显示在标题栏上的进度条实现
相关文章推荐
- 【Android开发】范例1-显示在标题上的进度条
- Android实现标题上显示隐藏进度条效果
- Android编程实现显示在标题上的进度条功能【附源码下载】
- Android开发 自制圆形带进度显示的进度条
- android开发中,设置全屏,去标题显示的两种方法
- Android ListView的分组显示,分组标题悬浮,点击查看分组的功能实现
- Android——音乐播放器完善——进度条显示当前播放进度,加可拖动进度条(未待解决完问题)
- Android----SeekBar进度条显示以及改变滑块样式基础
- Android可显示数字进度的进度条使用教程
- Android 程式开发:(一)详解Activity —— 1.6显示“进度条”对话框
- 显示在标题上的进度条
- 从android选取文件获取文件路径,并将文件读入到数据库中,有进度条显示
- android ListView向上滑动隐藏标题,下拉显示标题栏
- Android 下载文件 进度条显示
- 菜鸟Android学习之路24-显示在标题上的进度条
- Android窗口标题显示操作
- androidy应用程序标题放置进度条
- 显示在标题上的进度条
- 【Android】读取sdcard卡上的所有图片并且显示,读取的过程有进度条显示
- android图片浏览器(二)——实现显示图片的标题