編輯:關於Android編程
首先是main.xml文件
代碼如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ProgressBar android:id="@+id/myprobarA" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarB" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarC" android:visibility="gone" android:max="120" android:progress="0" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarD" android:visibility="gone" android:max="120" android:progress="50" android:secondaryProgress="70" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <ProgressBar android:id="@+id/myprobarE" android:visibility="gone" android:max="120" android:progress="50" android:secondaryProgress="70" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <Button android:id="@+id/mybut" android:text="顯示進度條" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
然後編寫Activity.java類
代碼如下:
package com.example.myfirstproject; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.app.Activity; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.*; public class MainActivity extends Activity { private ProgressBar myprobarA,myprobarB,myprobarC,myprobarD,myprobarE; private Button mybut; protected static final int STOP = 1; protected static final int CONTINUE = 2; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.myprobarA = (ProgressBar)this.findViewById(R.id.myprobarA); this.myprobarB = (ProgressBar)this.findViewById(R.id.myprobarB); this.myprobarC = (ProgressBar)this.findViewById(R.id.myprobarC); this.myprobarD = (ProgressBar)this.findViewById(R.id.myprobarD); this.myprobarE = (ProgressBar)this.findViewById(R.id.myprobarE); this.mybut = (Button)this.findViewById(R.id.mybut); this.myprobarA.setIndeterminate(false); this.myprobarB.setIndeterminate(false); this.myprobarC.setIndeterminate(true); this.myprobarD.setIndeterminate(false); this.myprobarE.setIndeterminate(false); this.mybut.setOnClickListener(new OnClickListenerlmpl()); } private class OnClickListenerlmpl implements OnClickListener{ public void onClick(View view){ MainActivity.this.myprobarB.setSecondaryProgress(0); MainActivity.this.myprobarA.setVisibility(View.VISIBLE); MainActivity.this.myprobarB.setVisibility(View.VISIBLE); MainActivity.this.myprobarC.setVisibility(View.VISIBLE); MainActivity.this.myprobarD.setVisibility(View.VISIBLE); MainActivity.this.myprobarE.setVisibility(View.VISIBLE); MainActivity.this.myprobarA.setMax(120); MainActivity.this.myprobarB.setMax(120); MainActivity.this.myprobarA.setProgress(0); MainActivity.this.myprobarB.setProgress(0); new Thread(new Runnable(){ public void run(){ int count = 0; for(int i = 0;i < 10;i++){ try{ count = (i+1)*20; Thread.sleep(500); if(i==6){ Message m = new Message(); m.what = MainActivity.STOP; MainActivity.this.myMessageHandler.sendMessage(m); break; }else{ Message m = new Message(); m.arg1 = count; m.what = MainActivity.CONTINUE; MainActivity.this.myMessageHandler.sendMessage(m); } }catch(Exception ex){ ex.printStackTrace(); } } } }).start(); } } private Handler myMessageHandler = new Handler(){ public void handleMessage(Message msg){ switch(msg.what){ case MainActivity.STOP: myprobarA.setVisibility(View.GONE); myprobarB.setVisibility(View.GONE); myprobarC.setVisibility(View.GONE); myprobarD.setVisibility(View.GONE); myprobarE.setVisibility(View.GONE); Thread.currentThread().interrupt(); break; case MainActivity.CONTINUE: if(!Thread.currentThread().isInterrupted()){ myprobarA.setProgress(msg.arg1); myprobarB.setProgress(msg.arg1); myprobarC.setProgress(msg.arg1); myprobarD.setProgress(msg.arg1); myprobarE.setProgress(msg.arg1); } break; } } }; }
運行效果:
以上就是對 Android 進度條的知識整理,後續繼續補充相關知識,謝謝大家對本站的支持!
小米Note是一款性能非常不錯的雙卡雙待手機,高清電影/電視劇、精彩的手機游戲肯定不在話下,但是高清視頻、手游都動辄1GB以上,小米Note的容量夠用嗎?如
可能有些同學不明白,為啥要圖片反轉(不是旋轉哦),我們在游戲開發中,為了節省圖片資源(空間) 有可能會使用到圖片反轉,例如,一個人物圖片,面向左,或右,如果不能實現圖片反
Moco介紹在開發過程中,經常會使用到一些http網絡接口,而這部分功能通常是由第三方開發團隊或者是後端同事進行開發的,在我們開發時不能給我們提供服務,更有甚者,要集成的
概述在開發過程中,經常會遇到系統中提供的控件無法滿足產品的設計需求,這時可能就需要考慮使用自定義的View來實現產品的設計細節了。對於自定義View,可以分為兩種,一種是