画廊控件(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组件,下面用是一个画廊空间

更多相关文章

  1. Android之WebView缓存应用
  2. Android之Animation全介绍
  3. 解决Android帧动画在Oncreate中启动只显示第一帧
  4. Android(安卓)Activity切换动画overridePendingTransition
  5. React Native常用一些组件
  6. Android(安卓)属性动画(一)
  7. android中LayoutAnimationController类的使用
  8. 《Kotlin》 Kotlin Android(安卓)Extensions (译文)
  9. Android常用三方框架

随机推荐

  1. android中设置一些没有maxHeight属性控件
  2. Android按钮的五种点击监听事件处理
  3. anroid 7.1添加自定义api服务
  4. Android apk下载 安装 卸载 打开
  5. Android圆角自定义View
  6. Android之ShortCut[setResult方式]
  7. Writing code that captures videos on A
  8. Android(安卓)WebView载入本地页面时的乱
  9. Android(安卓)A2DP 音频卡顿问题BT HOST
  10. Android应用程序组件Content Provider应