Galleryに表示するItemが重なってしまう現象への対応
現象
Galleryに適当なViewを表示させようと思ったら、重なって表示されてしまった。
コードの重要な部分だけ抜粋。
layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@color/white" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Gallery android:id="@+id/my_gallery" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
CustomAdapter
@Override public View getView(int position, View convertView, ViewGroup parent) { Gallery.LayoutParams layout = new Gallery.LayoutParams( Gallery.LayoutParams.WRAP_CONTENT, Gallery.LayoutParams.WRAP_CONTENT); TextView text = new TextView(context); text.setLayoutParams(layout); text.setTextSize(20); text.setText("hoge\nfuga\npiyo"); return text; }
解決策
Galleryのspacingを明示的に指定する。
雑感
てか、なんでspacingの初期値がマイナス値なのか理解できない。公式ドキュメントのチュートリアルでもspacing設定されてないんだけど、これほんとに動くの?