packagecom.asfman;importandroid.app.Activity;importandroid.content.Context;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.util.Log;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.AdapterView;importandroid.widget.AdapterView.OnItemClickListener;importandroid.widget.AdapterView.OnItemSelectedListener;importandroid.widget.BaseAdapter;importandroid.widget.Gallery;importandroid.widget.ImageView;importandroid.widget.LinearLayout;importandroid.widget.Toast;publicclassGalleryTestextendsActivity {privateGallery gallery;privateintcurPos=0;privateRunnable runnable;privateintdelayTime=5000;privateHandler uiHandler=newHandler() {
@OverridepublicvoidhandleMessage(Message msg) {if(curPos>=gallery.getCount()) curPos=0;
gallery.setSelection(curPos);
}
};
@OverridepublicvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gallery=(Gallery) findViewById(R.id.gallery1);
ImageAdapter imageAdapter=newImageAdapter(this);
gallery.setAdapter(imageAdapter);
gallery.setOnItemSelectedListener(newOnItemSelectedListener() {
@OverridepublicvoidonItemSelected(AdapterView>arg0, View view,intposition,longid) {
Log.i("info","selected:"+position);
LinearLayout oLayout=(LinearLayout) findViewById(R.id.indicator);for(inti=0; i
ImageView oView=((ImageView)oLayout.getChildAt(i));
oView.setImageResource(position==i?R.drawable.home_light_frame : R.drawable.home_dark_frame);
}
uiHandler.removeCallbacks(runnable);
uiHandler.postDelayed(runnable, delayTime);
curPos=position;
}
@OverridepublicvoidonNothingSelected(AdapterView>arg0) {
}
});
gallery.setOnItemClickListener(newOnItemClickListener(){
@OverridepublicvoidonItemClick(AdapterView>parent, View view,intposition,longid) {
Toast.makeText(GalleryTest.this,"positon:"+position, Toast.LENGTH_LONG).show();
}
});//gallery.setSelection(1);LinearLayout oLayout=(LinearLayout) findViewById(R.id.indicator);for(inti=0; i
ImageView oView=newImageView(this);
oView.setImageResource(R.drawable.home_dark_frame);
oLayout.addView(oView);
}
runnable=run();
uiHandler.postDelayed(runnable, delayTime);
}privateRunnable run() {returnnewRunnable() {
@Overridepublicvoidrun() {
uiHandler.sendEmptyMessage(1);
curPos++;
}
};
}
}classImageAdapterextendsBaseAdapter
{privateContext mContext;privateint[] resIds=newint[]{ R.drawable.azk, R.drawable.jp, R.drawable.azk, R.drawable.jp, R.drawable.azk, R.drawable.jp};publicImageAdapter(Context context)
{
mContext=context;
}//返回图像总数publicintgetCount()
{returnresIds.length;
}publicObject getItem(intposition)
{returnposition;
}publiclonggetItemId(intposition)
{returnposition;
}//返回具体位置的ImageView对象publicView getView(intposition, View convertView, ViewGroup parent)
{
Log.i("info","------------------getView:"+position);if(convertView==null) {
LayoutInflater layoutInflater=LayoutInflater.from(mContext);
convertView=layoutInflater.inflate(R.layout.item,null);
}//设置当前图像的图像(position为当前图像列表的位置)ImageView oImageView=(ImageView) convertView.findViewById(R.id.img);
oImageView.setImageResource(resIds[position]);returnconvertView;
}
}