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

asaba 著者:asaba

【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に変えてあげればかっこよく

なれそうですね。

  • この記事いいね! (0)

著者について

asaba

asaba author

好きなもの:RPG、チョコミント 少しずつ頑張ります。