2. 需建立一個繼承BaseAdapter的物件來放置你要呈現的圖片。
3. MainActivity.java
package org.me.android_gallery;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Gallery;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
Gallery gallery = (Gallery) findViewById(R.id.gallery);
ImageAdapter imageAdapter = new ImageAdapter(this);
//設定圖片來源
Integer[] mImageIds = {
R.drawable.android_logo,
R.drawable.androids,
R.drawable.cupcake_2009,
R.drawable.donut_2009,
R.drawable.eclair_2009
};
//設定圖片的位置
imageAdapter.setmImageIds(mImageIds);
//圖片高度
imageAdapter.setHeight(100);
//圖片寬度
imageAdapter.setWidth(200);
gallery.setAdapter(imageAdapter);
gallery.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "您選的是第"+position+"張圖", Toast.LENGTH_LONG).show();
}
});
}
}
4. ImageAdapter.java
package org.me.android_gallery;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
public class ImageAdapter extends BaseAdapter {
private Context mContext;
private Integer width;
private Integer height;
private Integer[] mImageIds;
public ImageAdapter(Context c) {
mContext = c;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
//設定圖片來源
imageView.setImageResource(mImageIds[position]);
//設定圖片的寬、高
imageView.setLayoutParams(new Gallery.LayoutParams(width, height));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
return imageView;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
public Integer[] getmImageIds() {
return mImageIds;
}
public void setmImageIds(Integer[] mImageIds) {
this.mImageIds = mImageIds;
}
public Integer getWidth() {
return width;
}
public void setWidth(Integer width) {
this.width = width;
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
}
5. main.xml(Layout)
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Gallery>
</LinearLayout>
4. 執行之後的畫面。







@@ 請問一下喔
回覆刪除你這個是要點選
才會顯示位置吧?
那能不能拉到哪張圖
他就自動顯示位置@@?