android Progressbar使用
16lz
2021-12-04
main.xml
<?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="Welcome to Mr Wei's blog" /> <ProgressBar android:id="@+id/rectangleProgressBar" style="?android:attr/progressBarStyleHorizontal" mce_style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" /> <ProgressBar android:id="@+id/circleProgressBar" style="?android:attr/progressBarStyleLarge" mce_style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" /> <Button android:id="@+id/button" android:text="Show ProgressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
public class ProgressBarDemo extends Activity {private ProgressBar rectangleProgressBar, circleProgressBar;private Button mButton;protected static final int STOP = 0x10000;protected static final int NEXT = 0x10001;private int iCount = 0;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.progress_bar_demo);// findView By idrectangleProgressBar = (ProgressBar) findViewById(R.id.rectangleProgressBar);circleProgressBar = (ProgressBar) findViewById(R.id.circleProgressBar);mButton = (Button) findViewById(R.id.button);rectangleProgressBar.setIndeterminate(false);circleProgressBar.setIndeterminate(true);mButton.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {rectangleProgressBar.setVisibility(View.VISIBLE);circleProgressBar.setVisibility(View.VISIBLE);rectangleProgressBar.setMax(100);rectangleProgressBar.setProgress(0);circleProgressBar.setProgress(0);new IncreaseThread().start();}});}// 定义一个Handlerprivate Handler mHandler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case STOP:rectangleProgressBar.setVisibility(View.GONE);circleProgressBar.setVisibility(View.GONE);Thread.currentThread().interrupt();break;case NEXT:if (!Thread.currentThread().isInterrupted()) {rectangleProgressBar.setProgress(iCount);circleProgressBar.setProgress(iCount);}break;}}};// 每秒步长为5增加,到100%时停止class IncreaseThread extends Thread {@Overridepublic void run() {for (int i = 0; i < 20; i++) {try {iCount = (i + 1) * 5;Thread.sleep(1000);if (i == 19) {Message msg = new Message();msg.what = STOP;mHandler.sendMessage(msg);break;} else {Message msg = new Message();msg.what = NEXT;mHandler.sendMessage(msg);}} catch (Exception e) {e.printStackTrace();}}}}}
更多相关文章
- ProgressBar属性小结
- Android应用程序启动过程源代码分析(4)
- Android(安卓)各种自定义进度条Progressbar
- Android应用程序启动过程源代码分析(3)
- Momo自定义DialogFragment
- Android(安卓)2D绘图总结
- 自定义Android(安卓)editText
- android中设置TextView/Button 走马灯效果
- Android(安卓)Interface Definition Language (AIDL) android接