1.使用gallery组件创建画廊视图
android:animationduration 设置列表项切换时的动画持续时间
android:gravity 设置对齐方式
android:spacing 设置列表之间的间距
android:unselectedalpha 设置没有选中的列表透明度
布局代码:
<Gallery
android:id="@+id/gallery1"
android:spacing="10px"
android:unselectedAlpha="0.5"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
2.在res/values目录中,创建一个名称为attr的文件
代码如下:
<declare-styleable name="Gallery">
<attr name="android:galleryItemBackground"/>
</declare-styleable>
3.创建一个保存图片ID的数组
final int[] imageid = new int[]{R.drawable.img7,R.drawable.img8,
R.drawable.img9,R.drawable.img10,R.drawable.img11,
R.drawable.img12,R.drawable.img13,R.drawable.img14,
R.drawable.img15,R.drawable.img16,R.drawable.img17,
R.drawable.img18,R.drawable.img19,R.drawable.img20,
R.drawable.img21,R.drawable.img22,R.drawable.img23,
R.drawable.img24};
4.创建baseadapter类的对象,并重写getview(),getitemid(),getitem(),getcount()方法
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
BaseAdapter baseAdapter = new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView==null) {
imageView = new ImageView(MainActivity.this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(new Gallery.LayoutParams(180, 135));
TypedArray typedArray = obtainStyledAttributes(R.styleable.Gallery);
imageView.setBackgroundResource(typedArray.getResourceId
(R.styleable.Gallery_android_galleryItemBackground, 0));
imageView.setPadding(5, 0, 5, 0);
}else {
imageView = (ImageView)convertView;
}
imageView.setImageResource(imageid[position]);
return imageView;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public int getCount() {
return imageid.length;
}
};
5.将适配器与gallery关联,并为gallery添加事件监听器
gallery.setAdapter(baseAdapter);
gallery.setSelection(imageid.length/2);
gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "你选择了"+String.valueOf(position)+"张照片", Toast.LENGTH_SHORT).show();
}
});

- 大小: 40.5 KB
分享到:
相关推荐
《高级控件之画廊视图共7页.pdf》是一个关于使用高级控件实现画廊视图的专题文档,从其名称我们可以推测,这可能是针对软件开发者或UI设计师的一份技术指南,旨在介绍如何在应用中创建具有画廊功能的界面。画廊视图...
高级控件-画廊视图 高级控件-画廊视图 Advanced controls - Gallery view 画廊Gallery能够水平方向显示内容,并且可用手指直接拖动图片移动,一般用来浏览图片,被选中的选项位于中间,并且可用影响事件显示信息。...
Android高级组件Gallery画廊视图使用方法详解 Android高级组件Gallery画廊视图是一种常用的UI组件,能够按水平方向显示内容,并且可用手指直接拖动图片移动。一般用来浏览图片,被选中的选项位于中间,并且可以响应...
画廊视图 Gallery五.选项卡 TabHost六.滚动视图 ScrollView七.自动完成文本框 AutoCompleteTextView八. 题目记录 零. 适配器Adapter 将各种数据以合适的形式显示在View中给用户看。 ArrayAdapter 支持泛型操作,最...
在Android平台中,图片画廊功能通常涉及到多个技术点和组件,包括图像加载库、图片适配器、视图滚动机制以及用户交互设计。 首先,图像加载库在Android开发中扮演着重要角色,因为原生的ImageView控件在处理大量或...
而Gallery则是另一种可横向滚动的视图,通常用于显示一系列图片或选项。在某些场景下,开发者可能希望结合GridView和Gallery的功能,实现一个既具有网格布局又能横向平滑滑动的效果。在本篇文章中,我们将深入探讨...
Adapter和AdapterView Spinner(下拉列表) ListView(列表) GridView(网格) Gallery(画廊) SlidingDrawer(滑动抽屉) AutoCompleteTextView(自动完成) TabHost(分页视图)
综上所述,这个"Android高级应用源码-画廊试图Gallery.zip"的资源可以帮助开发者深入理解如何在Android中使用和定制Gallery组件,从而创建出具有专业级用户体验的图像浏览应用。通过对源码的学习,开发者可以更好地...
4. **PageTransformer**:通过实现PageTransformer接口,可以自定义页面滑动时的转换效果,实现类似3D翻转等高级视觉效果。 5. **Indicator**:常见的做法是结合ViewPager使用页面指示器,如TabLayout,以明确显示...
在本资源中,"Android高级应用源码-android 安卓画廊 照片转换器.rar",我们聚焦于一个Android应用程序,它涉及到图像处理和用户界面设计,具体来说是实现了一个类似于系统画廊的应用,同时具备照片转换功能。...
同时,不要忘了结合Android的其他组件和库,如RecyclerView(对于更现代的列表和网格视图)和PagerSnapHelper(帮助ViewPager自动对齐页面),来构建更加完善的画廊体验。 总结来说,Android画廊效果可以通过...
使用时,需要将其集成到项目中,按照其提供的API设置图片数据源,然后在需要展示的地方调用相应的视图组件。 2. 其他库:还有如`PhotoView`、`Fresco`、` Glide-with-Transformations`等,它们提供了更丰富的图片...
"安卓Gallery照片墙画廊图库相关-Android高级图片滚动控件3D版的图片轮播器Demo" 提供了一个独特的解决方案,通过3D效果来提升用户的视觉体验。这个Demo旨在展示如何实现一个高级的图片滚动控件,它可能是基于开源库...
【Android Gallery照片墙画廊图库相关 - 安卓3D相册带有阴影立体浏览】 在Android开发中,用户界面是至关重要的,特别是在涉及到图片展示的应用中,如相册或图库。传统的2D相册虽然能实现基本的图片浏览功能,但...
【标题】"用ViewPager写的3D画廊"是一款基于Java技术实现的Android应用,它利用了ViewPager组件的特性,展示了3D效果的图片画廊。这个项目的核心是将ViewPager的滑动效果扩展到了三维空间,使得用户在浏览图片时能够...
在毕业设计或论文中,使用这些组件可以展示出开发者对Android高级UI控件的掌握程度。通过实际操作和源码分析,你可以深入理解它们的工作原理,并学习如何根据项目需求定制和优化这些组件。同时,这样的实践也会有助...
《Flutter Gallery 3D:构建类似哔哩哔哩漫画的3D画廊》 Flutter Gallery 3D 是一个基于Dart编程语言...这不仅涵盖了基本的编程技巧,还涉及到更高级的动画和性能优化策略,对于提升Flutter开发者技能具有很高的价值。
在这个名为"ViewPagerGallery"的项目中,开发者基于ViewPager创建了一个类似于Android原生Gallery组件的功能,提供了更加流畅且易于定制的图片或视图浏览体验。 在Android原生API中,Gallery组件已经被弃用,而...