Android 在GridView视图中设置水平滚动的图像布局
问题描述:
我想以gridview的视图显示图像缩略图,要求这些图像排成一列以水平滚动条的形式显示。我设置了很多参数,但是检查不出哪里出错了。显示出来的图像根本不是按照原计划显示的。
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.GridView;
- import android.widget.ImageView;
- public class Test2Activity extends Activity {
- /** Called when the activity is first created. */
- public Integer[] imageIDs = {
- R.drawable.library,
- R.drawable.library,
- R.drawable.library,
- R.drawable.library,
- R.drawable.library,
- R.drawable.library,
- R.drawable.library
- };
- @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, imageIDs));
- gridView.setNumColumns(imageIDs.length);
- }
- class ImageAdapter extends BaseAdapter
- {
- private Context context;
- Integer[] imageIDs;
- public ImageAdapter(Context c, Integer[] imageIDResults)
- {
- context = c;
- imageIDs = imageIDResults;
- }
- 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;
- }
- }
- }