如何修改网站备案的域名,网站开发常用语言,装修网站建设方案书,网页制作教程零基础合集我们来实现一个幻灯片式图片浏览器#xff1a;最下面一个画廊视图#xff0c;选中画廊中的图片#xff0c;会在上面的ImageSwitcher控件中显示大图。效果图如图实现方法#xff1a;在布局文件中添加图片切换控件ImageSwitcher和画廊视图控件Galleryres/layout/main.xml:and…我们来实现一个幻灯片式图片浏览器最下面一个画廊视图选中画廊中的图片会在上面的ImageSwitcher控件中显示大图。效果图如图实现方法在布局文件中添加图片切换控件ImageSwitcher和画廊视图控件Galleryres/layout/main.xml:android:orientationverticalandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:idid/layout1android:gravitycenter_horizontalandroid:idid/imageSwitcherandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:paddingTop30pxandroid:layout_weight2/android:idid/gallery1android:spacing5pxandroid:layout_weight1android:unselectedAlpha0.6android:layout_widthmatch_parentandroid:layout_heightwrap_content/在res/values目录中创建一个名为attr.xml的文件在该文件中定义一个styleable对象用于组合多个属性。这里只指定了一个系统自带的android:galleryItemBackground属性用于设置各选项的背景。具体代码如下res/values/attr.xml:MainActivitypackage com.example.test;import android.app.Activity;import android.content.res.TypedArray;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.view.ViewGroup.LayoutParams;import android.view.animation.AnimationUtils;import android.widget.AdapterView;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.ViewSwitcher.ViewFactory;public class MainActivity extends Activity {//定义并初始化保存图片id的数组private int[] imageIdnew int[]{R.drawable.img1,R.drawable.img2,R.drawable.img3,R.drawable.img4,R.drawable.img5,R.drawable.img6,R.drawable.img7,R.drawable.img8,R.drawable.img9};//声明一个图像切换器对象private ImageSwitcher imageSwitcher;Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Gallery gallery(Gallery)findViewById(R.id.gallery1);//获取gallery组件imageSwitcher(ImageSwitcher)findViewById(R.id.imageSwitcher);//获取图像切换器//设置动画效果imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));//设置淡入动画imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));//设置淡出动画imageSwitcher.setFactory(new ViewFactory(){Overridepublic View makeView() {ImageView imageViewnew ImageView(MainActivity.this);//实例化一个imageView类的对象imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//设置保持纵横比居中缩放图像imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));return imageView;//返回imageView对象}});BaseAdapter adapternew BaseAdapter(){Overridepublic View getView(int position, View convertView, ViewGroup parent) {ImageView imageView;//声明ImageView的对象if(convertViewnull){imageViewnew ImageView(MainActivity.this);//实例化ImageView的对象imageView.setScaleType(ImageView.ScaleType.FIT_XY);//设置缩放方式imageView.setLayoutParams(new Gallery.LayoutParams(180,135));//设置gallery每一项图片的背景资源(使用的是attr.xml的自定义样式)TypedArray typedArrayobtainStyledAttributes(R.styleable.Gallery);imageView.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0));imageView.setPadding(5, 0, 5, 0);//设置imageView的内边距}else{imageView(ImageView)convertView;}imageView.setImageResource(imageId[position]);//为imageView设置要显示的图片return imageView;//返回ImageView}//功能:获得当前选项的idOverridepublic long getItemId(int position) {return position;}//功能获得当前选项Overridepublic Object getItem(int position) {return position;}//获得数量Overridepublic int getCount() {return imageId.length;}};gallery.setAdapter(adapter);//将适配器与Gallery关联gallery.setSelection(imageId.length/2);//选中中间的图片gallery.setOnItemSelectedListener(new OnItemSelectedListener() {Overridepublic void onItemSelected(AdapterView parent, View v,int position, long id) {imageSwitcher.setImageResource(imageId[position]);//显示选中的图片}Overridepublic void onNothingSelected(AdapterView arg0) {// TODO Auto-generated method stub}});}}这样单击某张图片可以选中该图片并且让其居中显示也可以用手指拖动图片来移动图片并且让选中的图片在上方显示,如图是切换瞬间的效果以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。