Android 实现仿Window7图片预览窗格效果
2012-12-09 14:19
399 查看
main.xml
先定义一个GridView,然后再定义一个ImageSwitcher
效果图:
先定义一个GridView,然后再定义一个ImageSwitcher
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <GridView android:id="@+id/gridView1" android:layout_height="fill_parent" android:layout_width="300px" android:layout_marginTop="6px" android:horizontalSpacing="3px" android:verticalSpacing="3px" android:numColumns="4"/> <ImageSwitcher android:id="@+id/imageSwicher1" android:padding="20px" android:layout_width="fill_parent" android:layout_height="fill_parent" ></ImageSwitcher> </LinearLayout>
MainActivity代码如下:
publicclassMainActivityextendsActivity{
privateint[]imageId=newint[]{R.drawable.w1,R.drawable.w2,
R.drawable.w3,R.drawable.w4,R.drawable.w5,R.drawable.w6};
privateImageSwitcherimageSwitcher;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageSwitcher=(ImageSwitcher)findViewById(R.id.imageSwicher1);
imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));//设置淡入动画
imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));//设置谈出动画
imageSwitcher.setFactory(newViewFactory(){
@Override
publicViewmakeView(){
//TODOAuto-generatedmethodstub
ImageViewimageView=newImageView(MainActivity.this);//实例化一个ImageView类的对象
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//设置保持纵横比居中缩放图像
imageView.setLayoutParams(newImageSwitcher.LayoutParams(//主要要是用ImageSwitcher的LayoutParams
LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
returnimageView;
}
});
imageSwitcher.setImageResource(imageId[0]);
GridViewgridView=(GridView)findViewById(R.id.gridView1);
BaseAdapteradapter=newBaseAdapter(){
/*
*获得数量
*
*@seeandroid.widget.Adapter#getCount()
*/
@Override
publicintgetCount(){
//TODOAuto-generatedmethodstub
returnimageId.length;
}
@Override
publicObjectgetItem(intposition){
//TODOAuto-generatedmethodstub
returnposition;
}
/**
*获得当前选项
*/
@Override
publiclonggetItemId(intposition){
//TODOAuto-generatedmethodstub
returnposition;
}
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
//TODOAuto-generatedmethodstub
ImageViewimageView;
if(convertView==null){
imageView=newImageView(MainActivity.this);
/**设置图像的宽度和高度**/
imageView.setAdjustViewBounds(true);
imageView.setMaxWidth(150);
imageView.setMaxHeight(113);
imageView.setPadding(5,5,5,5);
}else{
imageView=(ImageView)convertView;
}
imageView.setImageResource(imageId[position]);
returnimageView;
}
};
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(newOnItemClickListener(){
@Override
publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,
longarg3){
//TODOAuto-generatedmethodstub
imageSwitcher.setImageResource(imageId[arg2]);//显示选中的图片
}
});
}
}
效果图:
相关文章推荐
- 【Android开发】经典范例1-实现仿Windows7图片预览窗格效果
- Android实现仿Windows7图片预览窗格效果
- Android实现本地图片选择及预览缩放效果仿春雨医生
- 实例7:实现仿Windows7图片预览窗格效果
- Android ViewPager实现图片滑动预览效果
- Android图片上传实现预览效果
- Android编程滑动效果之Gallery+GridView实现图片预览功能(附demo源码下载)
- Android实现图片点击预览效果(zoom动画)
- Android实现本地图片选择及预览缩放效果
- Android使用ViewPager实现图片滑动预览效果
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果
- Android 图片合成:添加蒙板效果 不规则相框 透明度渐变效果的实现
- android实现图片预览
- android 图片点击效果的实现
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果
- Android自定义ImageView实现在图片上添加图层效果
- Android下图片或按钮等可拖动到任意位置的效果实现源码
- android 用ImageSwitcher+Gallery实现图片浏览效果
- Android Viewpager实现图片轮播(仿优酷效果)
- android开发之滑动效果实现图片浏览_ViewFilpper的使用