選択 モバイル版に入る | PC版を継続
Android開発に助かるApkSchool版主募集中DISCUZ!X3.1 Japanese Version提供
表示: 1460|返信: 0

Android UI篇 ProgressBar

[リンクをコピー]
发表于 2013-6-23 09:59:31 | 显示全部楼层 |阅读模式
webhostingpad


main.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_width="fill_parent"
  4.     android:layout_height="fill_parent"
  5.     android:orientation="vertical" >

  6.    <ProgressBar
  7.        android:id="@+id/pb"
  8.        android:layout_width="fill_parent"
  9.        android:layout_height="wrap_content"
  10.        style="@android:style/Widget.ProgressBar.Horizontal"/>

  11. </LinearLayout>
コードコピー
ProgressBarSampleActivity.java
  1. package net.apkschool.edu;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.os.Handler;
  5. import android.os.Message;
  6. import android.widget.ProgressBar;

  7. public class ProgressBarSampleActivity extends Activity {
  8.         /** Called when the activity is first created. */
  9.         // シミュレーションするため、タスクの配列を定義する
  10.         private int[] data = new int[100];
  11.         // タスク完成度--デフォルトは0
  12.         private int hasdata = 0;
  13.         //状態完成度
  14.         int status = 0;
  15.         @Override
  16.         public void onCreate(Bundle savedInstanceState) {
  17.                 super.onCreate(savedInstanceState);
  18.                 setContentView(R.layout.main);

  19.                 final Handler h = new Handler() {
  20.                         @Override
  21.                         public void handleMessage(Message msg) {
  22.                                 // TODO Auto-generated method stub
  23.                                 if(msg.what == 0x11){
  24.                                         ProgressBar pb = (ProgressBar)findViewById(R.id.pb);
  25.                                         pb.setProgress(status);
  26.                                 }
  27.                         }
  28.                 };

  29.                 // スレッド
  30.                 new Thread() {
  31.                         @Override
  32.                         public void run() {
  33.                                 while (status < 100) {
  34.                                         status = dowork();
  35.                                         Message m = new Message();
  36.                                         m.what = 0x11;
  37.                                         h.handleMessage(m);
  38.                                 }
  39.                         }
  40.                 }.start();
  41.         }

  42.         public int dowork() {
  43.                 //100の1を完成
  44.                 data[hasdata++] = 1;
  45.                 try {
  46.                         Thread.sleep(100);
  47.                 } catch (InterruptedException e) {
  48.                         e.printStackTrace();
  49.                 }
  50.                 return hasdata;
  51.         }
  52. }
コードコピー

この記事に更なる添付があります

貴方は ログイン 後、ダウンロード・閲覧が可能となる,アカウントない?直ぐ登録

x
返信

道具使用 レポート

返信は先にログインが必要 ログイン | 直ぐ登録

フォーラム点数規則

フリーランス

モバイル版|APK School Net  

GMT+8, 2017-12-12 06:45 , Processed in 0.114626 second(s), 25 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速返信 トップへ リストへ