前言
本章内容是android.widget.ImageSwitcher,翻译来自"wallace2010",欢迎大家访问他的博客:http://blog.csdn.net /springiscoming2008,再次感谢"wallace2010" !欢迎你一起参与Android API 的中文翻译,联系我[email protected]。
声明
欢迎转载,但请保留文章原始出处:)
移动MM博客:http://dev.10086.cn/blog/?55151
Android中文翻译组:http://www.cnblogs.com/over140/
正文
一、结构
public class ImageSwitcher extends ViewSwitcher
java.lang.Object
android.view.View
android.view.ViewGroup
android.widget.FrameLayout
android.widget.ViewAnimator
android.widget.ViewSwitcher
android.widget.ImageSwitcher
二、概述

效果图
让我们先来看看XML文件
xml文件
xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageSwitcher android:id="@+id/switcher"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
/>
<Gallery android: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>
< /div>
看到了吧, 主界面采用了相对布局, 用了ImageSwitcher 和 Gallery 两种UI组件.
再来看看JAVA代码吧
三、公共方法
public void setImageDrawable (Drawable drawable)
绘制图片
public void setImageResource (int resid)
设置图片资源库
public void setImageURI (Uri uri)
设置图片地址
四、补充
4.1 文章链接
Android ImageSwitcher
Image Switcher View | Android Developer Tutorial
4.2 示例代码(本文代码转载自这里)
java文件
public
class
mainactivity
extends
Activity
implements
OnItemSelectedListener, ViewFactory {
private
ImageSwitcher is;
private
Gallery gallery;
private
Integer[] mThumbIds
=
{ R.drawable.b, R.drawable.c,
R.drawable.d, R.drawable.f, R.drawable.g,
};
private
Integer[] mImageIds
=
{ R.drawable.b, R.drawable.c,
R.drawable.d, R.drawable.f, R.drawable.g, };
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.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(
new
ImageAdapter(
this
));
gallery.setOnItemSelectedListener(
this
);
}
@Override
public
View makeView() {
ImageView i
=
new
ImageView(
this
);
i.setBackgroundColor(
0xFF000000
);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
i.setLayoutParams(
new
ImageSwitcher.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
return
i;
}
public
class
ImageAdapter
extends
BaseAdapter {
public
ImageAdapter(Context c) {
mContext
=
c;
}
public
int
getCount() {
return
mThumbIds.length;
}
public
Object getItem(
int
position) {
return
position;
}
public
long
getItemId(
int
position) {
return
position;
}
public
View getView(
int
position, View convertView, ViewGroup parent) {
ImageView i
=
new
ImageView(mContext);
i.setImageResource(mThumbIds[position]);
i.setAdjustViewBounds(
true
);
i.setLayoutParams(
new
Gallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
i.setBackgroundResource(R.drawable.e);
return
i;
}
private
Context mContext;
}
@Override
public
void
onItemSelected(AdapterView
parent, View view,
int
position,
long
id) {
is.setImageResource(mImageIds[position]);
}
@Override
public
void
onNothingSelected(AdapterView
parent) {
}
}
这样一来, 就完成了!