来自SDK开发例程大全2
package com.example.gallery_imageadapter;
import android.R.drawable;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.TextView;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
private TextView mTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.textView1);
((Gallery) findViewById(R.id.gallery1)).setAdapter(new imageAdapter(
this));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
class imageAdapter extends BaseAdapter {
private Context myContext;
private int myImageIds[] = { android.R.drawable.btn_minus,
android.R.drawable.btn_radio,
android.R.drawable.ic_lock_idle_low_battery,
android.R.drawable.ic_menu_camera };
public imageAdapter(Context c) {
this.myContext = c;
}
public int getCount() {
return this.myImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int positon, View converView, ViewGroup parent) {
ImageView im = new ImageView(this.myContext);
im.setImageResource(this.myImageIds[positon]);
im.setScaleType(ImageView.ScaleType.FIT_XY);
im.setLayoutParams(new Gallery.LayoutParams(240, 240));
return im;
}
public float getScale(boolean focused, int offset) {
return Math.max(0, 1.0f / (float) Math.pow(2, Math.abs(offset)));
}
}