画像の読み込み中にローディング
表示
画像読み込み中に時間がかかる場合
ローディングを表示しないと
フリーズと間違えられる
ローディング表示には、
ProgressBarを設置する
まずは、レイアウトファイルでProgressBarを設置する
1 2 3 4 5 6 7 8 9 10 11 12 | < 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秒間の読み込み時間を設定している
1 2 3 4 5 6 7 8 9 10 11 12 | 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を表示するのが良いとされている