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;
- }
- }
- }
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11