スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android プログレスバーのダイアログ

プログレスバーのダイアログ
処理の進捗状況をプログレスバーで表示します。











○main.xml
ダイアログを表示するButtonを配置します。

<?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">
<Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
</LinearLayout>



○Activity
プログレスバーの進捗はHandlerを利用します。

package progress.test;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;

public class ProgressDialogTest extends Activity {
int index = 0;
Handler hand = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final ProgressDialog progress = new ProgressDialog(this);

findViewById(R.id.button1).setOnClickListener(
new View.OnClickListener() {@Override
public void onClick(View v) {
index = 0;
// プログレスバーの表示
progress.setTitle("Progress Dialog");
progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);①

progress.setMax(100);②
progress.show();
progress.setProgress(index);③

// Handler処理
hand = new Handler(new Handler.Callback() {④@Override
public boolean handleMessage(Message msg) {
if (index >= 100) {
progress.dismiss();
} else {
index++;
progress.incrementProgressBy(1);⑤
hand.sendEmptyMessageDelayed(0, 100);⑥
}
return false;
}
});
hand.sendEmptyMessageDelayed(0, 100);
}
});
}
}


①バーを表示するため、ProgressDialog.setProgressStyleにSTYLE_HORIZONTALを設定
②setMax()で最大値の設定
③setProgress(int)で初期値の設定
④Handlerを使用し、定期的に進捗をカウントアップします。
⑤incrementProgressBy(int)でint分カウントアップ
⑥100ミリ秒後に再度HandlerをCallします。
スポンサーサイト

テーマ : android
ジャンル : コンピュータ

コメントの投稿

非公開コメント

おすすめアプリ
カテゴリ
最新記事
リンク
アクセスカウンター
アクセス解析
imobile
i-mobile
i-mobile
i-mobile
i-mobile
i-mobile
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Amazon
Androidお勧め参考書
EC studio
商品
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。