浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【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)