我正在尝试使用Gallery View(知道它已弃用)作为水平GridView。没关系,但现在我想让它只显示一个项目,这意味着每个项目都填充了父项的宽度。
这是我的XML(目前简约,只是一个LinearLayout):
<LinearLayout
android:id="@+id/profile"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/galleryLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gallerylabeltext"
android:layout_marginBottom="10dp"
android:textSize="@dimen/small_text_size" />
<Gallery
android:id="@+id/mygallery"
android:layout_width="fill_parent"
android:layout_height="80dp"
android:gravity="center" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray" />
</LinearLayout>
我怎样才能实现这一目标?扩展Gallery类?在XML?
提前感谢您的帮助。
答案 0 :(得分:1)
试试这个适配器,以及
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
aQuery = new AQuery(c);
}
public int getCount() {
return myImageList.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
@SuppressWarnings("deprecation")
public View getView(final int pos, View arg1, ViewGroup arg2) {
ImageView i = new ImageView(mContext);
i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
i.setScaleType(ScaleType.FIT_XY);
i.setImageResource(myImageList[pos]);
return i;
}
}
答案 1 :(得分:0)
您可以尝试使用“RelativeLayout”替换XML中的“LinearLayout”,我曾经使用过Gallery只显示一个项目