【androidjava】プログレスバーとonResumeを組み合わせてみる

一般的なandroidアプリはページの移動や更新にはプログレスバーを

使います。

 

今回は、読み込んでいる最中のみプログレスバーを出して、

読み終わったら次のページに飛ぶという流れをandroidの

ライフサイクルであるonResumeと組み合わせて作りました。

 

onResumeは、androidのactivityが戻るボタンによって再度呼ばれた時に

呼ばれるメソッドで、これが呼ばれる頃にはもうactivity内のuiは

触れる状態になっています。つまりこれが呼ばれた時には

プログレスバーが消えていてほしいので、onResumeの役割として

プログレスバーの管理を任せていることにしています。

 

考えていることは、プログレスバーをデフォルトでinvisibleにしておいて

次ページを読み込むときのみグルグル回す。移動した後は

プログレスバーをinvisibleにしてまた使えるようにスタンバらせる。

といった感じです。

 

このように実装してみました。

 

</pre>
<pre><RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"></pre>
<pre><ProgressBar
        style="?android:attr/progressBarStyleLarge"
        android:id="@+id/progressBar"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:visibility="invisible"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_centerInParent="true"
        />
</RelativeLayout></pre>
<pre>

 

styleは大きめで設定しております。

この他にもProgressBar.Small(小さいプログレスバー)や普通サイズの

ProgressBarも用意されておりアプリに合わせて最適な大きさを

選ぶことができます。

 

真ん中に設置しようとしてandroid:gravity=”center”を書くも

効かなかったのでcenterHorizontalとcenterVerticalで

真ん中寄せをしました。

 

続いてonResume内です。

 

</pre>
@Override
protected void onResume() {
super.onResume();
progressBar.setVisibility(android.widget.ProgressBar.INVISIBLE);
}
<pre>

こちらはactivityが呼ばれた時にsetVisibilityを返すのみ。
 

後はコード側で好きなタイミングでvisibleに変えてあげればかっこよく

なれそうですね。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG