ImgeSwitcher 是一个显示图片用的组件
和ImgeView区别是 ImgeSwitcher可以设置动画效果
package com.example.l01uicontrols;
import android.R.bool;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
public class UsingImageSwitcher extends Activity
{
private ImageSwitcher switcher;
private Boolean isShow = true;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.aty_using_image_switcher);
switcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
// switcher的原理是内部创建一个ImageView对象来呈现图像,所以需要setFactiory
switcher.setFactory(new ViewFactory()
{
@Override
public View makeView()
{
// 返回一个ImageView对象就行了
return new ImageView(UsingImageSwitcher.this);
}
});
// ImageSwitcher和直接使用ImgeView不同的地方在于可以设置动画效果
// 进入时的效果,淡入
switcher.setInAnimation(AnimationUtils.loadAnimation(
UsingImageSwitcher.this, android.R.anim.fade_in));
// 退出时的效果,淡出
switcher.setOutAnimation(AnimationUtils.loadAnimation(
UsingImageSwitcher.this, android.R.anim.fade_out));
switcher.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
setCurrentImg();
isShow = !isShow;
}
});
}
private void setCurrentImg()
{
if (isShow)
{
switcher.setImageResource(R.drawable.img1);
}
else
{
switcher.setImageResource(R.drawable.img2);
}
}
}
Gallery 和ListView差不多
ListView的元素竖着排列和Gallery 是横着的
package com.example.l01uicontrols;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Gallery;
public class AtyUsingGallery extends Activity
{
private Gallery gallery;
private ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.aty_using_gallery);
gallery = (Gallery) findViewById(R.id.gallery);
adapter = new ArrayAdapter<String>(AtyUsingGallery.this,
android.R.layout.simple_list_item_1);
for (int i = 0; i < 20; i++)
{
adapter.add("Item" + i);
}
gallery.setAdapter(adapter);
}
}