画像の読み込み中にローディング
表示
画像読み込み中に時間がかかる場合
ローディングを表示しないと
フリーズと間違えられる
ローディング表示には、
ProgressBarを設置する
まずは、レイアウトファイルでProgressBarを設置する
<ImageView android:id="@+id/imageview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="center" android:visibility="gone"/> <ProgressBar android:id="@+id/progressbar" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
次に、Javaで読み込み中と読み込み後で表示状態を切り替える
読み込み中はProgressBarを表示
読み込み後はImageViewを表示
というように、表示状態を変更する
今回は、Handlerを使い、3秒間の読み込み時間を設定している
mHandler.postDelayed(new Runnable(){ @Override public void run(){ //ProgressBarを非表示にする progressBar.setVisibility(View.GONE); //ImageViewを表示にする imageView.setVisibility(View.VISIBLE); imageView.setImageResource(R.drawable.ic_launcher); } },3000);
ローディング表示については
画面の中央にサークル状のProgressBarを表示する
もしくは
画面上部に進捗を表すProgressBarを表示するのが良いとされている