歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 在GridView視圖中設置水平滾動的圖像布局

Android 在GridView視圖中設置水平滾動的圖像布局

問題描述:

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

解決方案:

  1. import android.app.Activity; 
  2. import android.content.Context; 
  3. import android.os.Bundle; 
  4. import android.view.View; 
  5. import android.view.ViewGroup; 
  6. import android.widget.BaseAdapter; 
  7. import android.widget.GridView; 
  8. import android.widget.ImageView; 
  9.  
  10. public class Test2Activity extends Activity {     
  11.     /** Called when the activity is first created. */     
  12.      public Integer[] imageIDs = {     
  13.                 R.drawable.library,     
  14.                 R.drawable.library,     
  15.                 R.drawable.library,       
  16.                 R.drawable.library,       
  17.                 R.drawable.library,     
  18.                 R.drawable.library,             
  19.                 R.drawable.library                           
  20.     }; 
  21.  
  22.     @Override 
  23.     public void onCreate(Bundle savedInstanceState) { 
  24.          super.onCreate(savedInstanceState); 
  25.             setContentView(R.layout.main); 
  26.  
  27.             GridView gridView = (GridView) findViewById(R.id.grid); 
  28.             gridView.setAdapter(new ImageAdapter(this, imageIDs)); 
  29.             gridView.setNumColumns(imageIDs.length); 
  30.  
  31.     } 
  32.  
  33.     class ImageAdapter extends BaseAdapter 
  34.     { 
  35.         private Context context; 
  36.         Integer[] imageIDs; 
  37.  
  38.         public ImageAdapter(Context c, Integer[] imageIDResults) 
  39.         { 
  40.             context = c; 
  41.             imageIDs = imageIDResults; 
  42.         } 
  43.  
  44.         public int getCount() { 
  45.             return imageIDs.length; 
  46.         } 
  47.  
  48.         public Object getItem(int position) { 
  49.             return position; 
  50.         } 
  51.  
  52.         public long getItemId(int position) { 
  53.             return position; 
  54.         } 
  55.  
  56.         public View getView(int position, View convertView, ViewGroup parent) 
  57.         { 
  58.             ImageView imageView; 
  59.             if (convertView == null) { 
  60.                 imageView = new ImageView(context); 
  61.                 imageView.setLayoutParams(new GridView.LayoutParams(100, 100)); 
  62.                 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
  63.             } else { 
  64.                 imageView = (ImageView) convertView; 
  65.             } 
  66.             imageView.setImageResource(imageIDs[position]); 
  67.             return imageView; 
  68.         } 
  69.     } 

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved