图片切换ImageSwitcher&Gallery
ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊。做相册一绝。
一、设计界面
1、打开“res/layout/activity_main.xml”文件。
打开activity_main.xml文件。
代码如下:
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ImageSwitcherandroid:id="@+id/switcher"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"></ImageSwitcher><Galleryandroid:id="@+id/gallery"android:background="#55000000"android:layout_width="match_parent"android:layout_height="60dp"android:layout_alignParentBottom="true"android:layout_alignParentLeft="true"android:gravity="center_vertical"android:spacing="16dp"/></RelativeLayout>
二、程序文件
打开“src/com.genwoxue.p_w_picpathswitcher/MainActivity.java”文件。
然后输入以下代码:
importandroid.app.ActionBar.LayoutParams;importandroid.app.Activity;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.View;importandroid.view.ViewGroup;importandroid.view.Window;importandroid.view.animation.AnimationUtils;importandroid.widget.AdapterView;importandroid.widget.AdapterView.OnItemSelectedListener;importandroid.widget.BaseAdapter;importandroid.widget.Gallery;importandroid.widget.ImageSwitcher;importandroid.widget.ImageView;importandroid.widget.ViewSwitcher.ViewFactory;publicclassMainActivityextendsActivityimplementsOnItemSelectedListener,ViewFactory{//声明ImageSwitcher、GalleryprivateImageSwitcheris=null;privateGallerygallery=null;//定义缩微图,图片已经复制到drawable-hdpi文件夹了privateInteger[]mThumbIds={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e};//定义图privateInteger[]mImageIds={R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e};@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);is=(ImageSwitcher)findViewById(R.id.switcher);is.setFactory(this);//显示效果is.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));is.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));gallery=(Gallery)findViewById(R.id.gallery);gallery.setAdapter(newImageAdapter(this));//类中要写构造参数//设置OnItemSelected监听事件gallery.setOnItemSelectedListener(this);}publicclassImageAdapterextendsBaseAdapter{privateContextmContext;publicImageAdapter(Contextc){//TODO自动生成的构造函数存根mContext=c;}@OverridepublicintgetCount(){//TODO自动生成的方法存根returnmThumbIds.length;}@OverridepublicObjectgetItem(intposition){returnposition;}@OverridepubliclonggetItemId(intposition){returnposition;}@OverridepublicViewgetView(intposition,ViewconvertView,ViewGroupparent){ImageViewi=newImageView(mContext);i.setImageResource(mThumbIds[position]);i.setAdjustViewBounds(true);i.setLayoutParams(newGallery.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));i.setBackgroundResource(R.drawable.e);returni;}}@OverridepublicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid){is.setImageResource(mImageIds[position]);}@OverridepublicvoidonNothingSelected(AdapterView<?>arg0){//TODO自动生成的方法存根}@OverridepublicViewmakeView(){ImageViewi=newImageView(this);i.setBackgroundColor(0xFF000000);i.setScaleType(ImageView.ScaleType.FIT_CENTER);i.setLayoutParams(newImageSwitcher.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));returni;}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。