android-在GridView視圖中設置水平滾動的圖像佈局

原問題描述:

我想以gridview的視圖顯示圖像縮略圖,要求這些圖像排成一列以水平滾動條的形式顯示。我設置瞭很多參數,但是檢查不出哪裡出錯瞭。顯示出來的圖像根本不是按照原計劃顯示的。

解決方案:

[java]  

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)  

        {     www.aiwalls.com

            ImageView imageView;  

            if (convertView == null) {  

                imageView = new ImageView(context);  

                imageView.setLayoutParams(new GridView.LayoutParams(100, 100));  

                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);  

            } else {   www.aiwalls.com

                imageView = (ImageView) convertView;  

            }  

            imageView.setImageResource(imageIDs[position]);  

            return imageView;  

        }  

    }  

}  

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *