LoginSignup
6

More than 5 years have passed since last update.

ListViewが空のときに画像を表示する(XML/PG)

Last updated at Posted at 2015-09-02

ListViewに表示する要素がない場合に、emptyを示す画像を表示する。
setEmptyView()という便利なメソッドがあるので、簡単に実装できる。

直接関係ないが、プログラムで実装した際、画像を中央に寄せるのにちょっと調べたのでメモしておく。

XMLファイルで定義

xml

<ImageView
  android:id="@+id/emptyImageView"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" 
  android:layout_gravity="center"
/>

...


java
...

emptyImageView = (ImageView)findViewById(R.id.emptyImageView);
emptyImageView.setImageResource(R.mipmap.empty);
listView.addEmptyView(emptyImageView);

プログラムで定義

java

ImageView emptyImageView = new ImageView(getActivity());
emptyImageView.setImageResource(R.mipmap.empty);

// 中央寄せにする
emptyImageView.setLayoutParams(new LinearLayout.LayoutParams(
  LinearLayout.LayoutParams.WRAP_CONTENT,
  LinearLayout.LayoutParams.WRAP_CONTENT));
emptyImageView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

((ViewGroup) getListView().getParent()).addView(emptyImageView);
getListView().setEmptyView(emptyImageView);

おわり

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6