前言
本章内容是android.widget.ImageSwitcher,版本为Android 2.2 r1,翻译来自"wallace2010",欢迎大家访问他的博客:http://blog.csdn.net/springiscoming2008,再次感谢"wallace2010" !欢迎你一起参与Android API 的中文翻译,联系我[email protected]。
声明
欢迎转载,但请保留文章原始出处:)
博客园:http://www.cnblogs.com/
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
二、概述
(译者注:ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊,做相册一绝。)
三、公共方法
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) {
}
}
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
>
结束
wallace2010居然弄个这么好看的图片 - - # 吸引帝......