Android中关于画廊控件的使用
画廊控件(Gallery)
1、首先给大家展示一个示例:(看一下Java代码)
publicclassAActivityextendsActivity{
ImageSwitcherimgSwt;
Galleryglr;
//需要显示的图片资源,保存在drawable目录下
int[]imgs={
R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.f,R.drawable.g
};
//缓存底部在Gallery中使用的ImageView
ImageView[]galleryViews=newImageView[imgs.length];
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
imgSwt=(ImageSwitcher)findViewById(R.id.imgSwt);
glr=(Gallery)findViewById(R.id.glr);
//设置ImageSwitcher显示图片的工厂
imgSwt.setFactory((newViewFactory()
{
@Override
publicViewmakeView()
{
ImageViewiv=newImageView(AActivity.this);
iv.setBackgroundColor(0xFF000000);
iv.setScaleType(ImageView.ScaleType.FIT_CENTER);
iv.setLayoutParams(newImageSwitcher.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
returniv;
}
}));
//设置ImageSwitcher的进入动画
imgSwt.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
//设置ImageSwitcher的退出动画
imgSwt.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
//初始化缓存Gallery使用的ImageView
for(inti=0;i<galleryViews.length;i++)
{
ImageViewiv=newImageView(AActivity.this);
iv.setImageResource(imgs[i]);
iv.setAdjustViewBounds(true);
iv.setLayoutParams(newGallery.LayoutParams(
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
galleryViews[i]=iv;
}
//设置Gallery的适配器
glr.setAdapter(newBaseAdapter(){
@Override
publicintgetCount(){
returnimgs.length;
}
@Override
publicObjectgetItem(intposition){
returnnull;
}
@Override
publiclonggetItemId(intposition)
{
//TODOAuto-generatedmethodstub
return0;
}
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent)
{
//TODOAuto-generatedmethodstub
returngalleryViews[position];
}
});
//Gallery被选中的事件
glr.setOnItemSelectedListener(newOnItemSelectedListener()
{
@Override
publicvoidonItemSelected(AdapterView<?>arg0,Viewarg1,intarg2,longarg3)
{
imgSwt.setImageResource(imgs[arg2]);
}
@Override
publicvoidonNothingSelected(AdapterView<?>arg0){
//
}
});
}
}
2、它的XML布局文件:
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageSwitcher
android:id="@+id/imgSwt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Gallery
android:id="@+id/glr"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
3、其显示出来的效果图:
上面运用了tabhost组件,下面用是一个画廊空间
更多相关文章
- Android之WebView缓存应用
- Android之Animation全介绍
- 解决Android帧动画在Oncreate中启动只显示第一帧
- Android(安卓)Activity切换动画overridePendingTransition
- React Native常用一些组件
- Android(安卓)属性动画(一)
- android中LayoutAnimationController类的使用
- 《Kotlin》 Kotlin Android(安卓)Extensions (译文)
- Android常用三方框架