2.xml:裡面要擺一個gallary物件,並且在drawable資料夾裡放入想擺的圖片
3.實作:
public class checkmain extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.checkmain);
//取得GALLARY物件
((Gallery) findViewById(R.id.photogallary)).setAdapter(new ImageAdapter2(this));
}
class ImageAdapter2 extends BaseAdapter
{ 
/* 類別成員 myContext為Context父類別 */ 
private Context myContext; 
/*使用R.drawable裡的圖片作為圖庫來源,型態為整數陣列*/
private int[] myImageIds =
{ 
//photoxx是圖片檔名,跟擺在drawable資料夾裡的一樣
R.drawable.photo1,
R.drawable.photo2,
R.drawable.photo3, 
R.drawable.photo4,
R.drawable.photo5,
}; 
/* 建構子只有一個參數,即要儲存的Context */ 
public ImageAdapter2(Context c) { this.myContext = c; } 
/* 回傳所有已定義的圖片總數量 */ 
public int getCount() { return this.myImageIds.length; } 
/* 利用getItem方法,取得目前容器中影像的陣列ID */ 
public Object getItem(int position) { return position; } 
public long getItemId(int position) { return position; }
/* 取得目前欲顯示的影像View,傳入陣列ID值使之讀取與成像 */ 
public View getView(int position, View convertView, ViewGroup parent)
{ 
/* 建立一個ImageView物件 */
ImageView i = new ImageView(this.myContext);
i.setImageResource(this.myImageIds[position]);
i.setScaleType(ImageView.ScaleType.FIT_XY); 
/* 設定這個ImageView物件的寬高,單位為dip */ 
i.setLayoutParams(new Gallery.LayoutParams(120, 120)); 
return i; 
} 
/*依據距離中央的位移量 利用getScale回傳views的大小(0.0f to 1.0f)*/
public float getScale(boolean focused, int offset)
{ 
/* Formula: 1 / (2 ^ offset) */ 
return Math.max(0,1.0f/(float)Math.pow(2,Math.abs(offset)));
} 
}
}