ギャラリーで一度に 1 つずつ、垂直方向の LinearLayout の ImageView の上の TextView で構成されるカスタム ビューを表示したいと考えています。
問題は、カスタム ビューが画面いっぱいに表示されないことです。側面の他のビューの一部を見ることができますが、この問題は望ましくありません。
これが私のカスタム ビューの xml です: gallery_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gallery_item_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/gallery_item_cardname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20dp"
android:textStyle="bold"
android:text="@string/contrebandiers_lvl1"
android:textColor="@android:color/darker_gray"
/>
<ImageView
android:id="@+id/gallery_item_cardimg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerInside"
android:contentDescription="@string/app_name"
android:src="@drawable/contrebandiers_lvl1"
/>
</LinearLayout>
これが私のアダプタのメソッド getVew のコードです: GTRoundDeckAdapter
public View getView(int position, View convertView, ViewGroup parent)
{
GalleryItem galleryItem;
if(convertView == null)
{
galleryItem = new GalleryItem();
convertView = mInflater.inflate(R.layout.gallery_item, null);
galleryItem.cardName = (TextView) convertView.findViewById(R.id.gallery_item_cardname);
galleryItem.cardImg = (ImageView) convertView.findViewById(R.id.gallery_item_cardimg);
convertView.setTag(galleryItem);
}
else
{
galleryItem = (GalleryItem) convertView.getTag();
}
GTCard gtCard = (GTCard) mRoundDeck.get(position);
galleryItem.cardName.setText(gtCard.getNameId());
galleryItem.cardImg.setImageResource(gtCard.getImgId());
return convertView;
}
あなたの助けに感謝します。
サミュエル