ort android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.FrameLayout.LayoutParams;
import android.widget.ViewSwitcher.ViewFactory;
public class ControlImageSwitcher extends Activity
implements
OnItemSelectedListener, ViewFactory
{
private Gallery gallery;
private ImageSwitcher imageswitcher;
private ImageAdapter adapter;
private DisplayMetrics dm;
//@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);// Òþ²Ø±êÌâ
int flag = WindowManager.LayoutParams.FLAG_FULLSCREEN; // È«ÆÁ
this.getWindow().setFlags(flag, flag);
setContentView(R.layout.main);
// µÃµ½ÆÁÄ»³ß´ç
dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
gallery = (Gallery)this.findViewById(R.id.gallery);
imageswitcher = (ImageSwitcher)this.findViewById(R.id.imageswitcher);
// ÏÂÃæÕâ¾ä±ØÐëÒª£¬²»È»»áʹ setImageSource Õâ¸ö·½·¨Ö¸Ïò¿ÕÖ¸Õë
imageswitcher.setFactory(this);
adapter = new ImageAdapter(this);
gallery.setAdapter(adapter);
gallery.setOnItemSelectedListener(this);
}
//@Override
public void onItemSelected(AdapterView< > parent, View view, int position, long id)
{
int imageID = (int) adapter.getItemId(position);
imageswitcher.setImageResource(imageID);
}
//@Override
public void onNothingSelected(AdapterView< > parent)
{
imageswitcher.setImageResource((int) adapter.getItemId(0));
}
//@Override
// ½Ó¿Ú ViewFactory Öй涨±ØÐëʵÏֵķ½·¨£¬·µ»ØµÄ View ¾ÍÊÇ ImageSwitcher ÓÃÓÚÏÔʾͼƬµÄ vie w
public View makeView()
{
ImageView iv = new ImageView(this);
// ÉèÖñ³¾°ÑÕÉ«
iv.setBackgroundColor(0xFF646464);
iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
iv.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT, dm.heightPixels - 70));
// ÉÏÃæÓï¾äÖÐ -70 µÄÄ¿µÄÊÇӦΪ£¬ ImageSwitcher ÏÂÃæÒªÏÔʾ Gallery £¬ÎÒÃÇÔÚ ImageAdapter ÖÐÉ趨ÁË
// view.setLayoutParams(new Gallery.LayoutParams(60, 60));
// ¼´¸ß¶ÈÊÇ 60pixels £¬ÔÚ¼ÓÔÚ main.xml ÖÐ Gallery ÓÐÏÂÃæÕâÑùµÄÊôÐÔ£º
// android:layout_marginTop="10px"
// Òò´Ë¼ÓÆðÀ´Ò»¹²¸ÕºÃÊÇ 70px
return iv;
}
}
ÔËÐнá¹û£º
ÈÃÏÂÃæµÄ Gallery ÖеÄͼƬ¹ö¶¯£¬ÉÏÃæµÄ ImageSwitcher »áÏÔʾ Gallery ÔÚÆÁÄ»ÉÏ´¦ÓÚÖмä ( ˮƽ·½Ïò ) λÖõÄÄǸ±Í¼Æ¬£º