• Android学习笔记之ProgressBar案例分析



    (1)

    <RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="进度条的使用:" />
    
        <ProgressBar
            android:id="@+id/progressBar1"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/button1"
            android:layout_alignRight="@+id/button1"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="30dp" />
    
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView1"
            android:layout_below="@+id/progressBar1"
            android:layout_marginLeft="74dp"
            android:layout_marginTop="146dp"
            android:text="下载图片" />
    
    </RelativeLayout>

    (2)

    package com.example.progressbar;
    
    import android.app.Activity;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.ProgressBar;
    
    public class MainActivity extends Activity {
    
    	private Button button1;
    	private ProgressBar progressBar1;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		button1 = (Button) this.findViewById(R.id.button1);
    		progressBar1 = (ProgressBar) this.findViewById(R.id.progressBar1);
    
    		progressBar1.setMax(100);// 设置最大值为100
    
    		button1.setOnClickListener(new OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				new MyTask().execute();
    			}
    		});
    	}
    
    	class MyTask extends AsyncTask<Void, Integer, Void> {
    		@Override
    		protected void onProgressUpdate(Integer... values) {
    			super.onProgressUpdate(values);
    			progressBar1.setProgress(values[0]);
    		}
    
    		@Override
    		protected Void doInBackground(Void... params) {
    
    			int i = 1;
    			while (i <= 100) {
    				try {
    					Thread.sleep(500);
    				} catch (Exception e) {
    					// TODO: handle exception
    				}
    				publishProgress(i);
    				i++;
    			}
    			return null;
    		}
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    }
    

    (3)演示效果


  • 相关阅读:
    Mysql数学函数不求人数据库专栏,MySQL
    下班以后就不要开电脑了,
    在ubuntu下用eclipsecdt调试memcached C language ITeye论坛
    mperham/sidekiq
    Reference C++ Reference
    请问一下哪有机械键盘的实体店可以体验一下? 外设 Chiphell 分享与交流用户体验的最佳平台 Powered by Discuz!
    Linux的cron和crontab iTech 博客园
    MIUI官方论坛 发烧友必刷的Android ROM
    机器学习视频
    crossover 海客谈, 季小军, 义乌人
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/6984816.html
Copyright © 2020-2023  润新知