我想在一列中以水平滚动的方式在网格视图中显示图像缩略图。我玩过很多参数,但我不知道我做错了什么。请有人帮助我。主.xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<GridView
android:layout_width="500dp"
android:layout_height="400dp"
android:id="@+id/grid"
android:columnWidth="300dp"
android:padding="5dp"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
android:scrollbars="horizontal"
android:stretchMode="spacingWidthUniform">
</GridView>
</LinearLayout>
活动代码:
//---the images to display---
Integer[] imageIDs = {
R.drawable.library,
R.drawable.library,
R.drawable.library,
R.drawable.library,
R.drawable.library,
R.drawable.library,
R.drawable.library
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridView = (GridView) findViewById(R.id.grid);
gridView.setAdapter(new ImageAdapter(this));
gridView.setNumColumns(imageIDs.length);
}
public class ImageAdapter extends BaseAdapter
{
private Context context;
public ImageAdapter(Context c)
{
context = c;
}
public int getCount() {
return imageIDs.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(100, 100));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imageIDs[position]);
return imageView;
}
}