总叙:gallery严格意义地讲也是listView的一种,通过adapter加载数据成为了一种通用的方法。
例子:为实现图片浏览的效果,类似于qq空间里面查看他人图片。达到如下图所示效果:
<!--StartFragment -->
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <ImageView android:id="@+id/iv" android:layout_width="290dp" android:layout_height="290dp" android:layout_marginBottom="5dp"/> <Gallery android:id="@+id/gl" android:layout_width="fill_parent" android:layout_height="60dp" android:spacing="10dp" android:gravity="center_vertical"/> </LinearLayout> </LinearLayout>
即上面是imageview,下面是gallery
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; public class GalleryActivity extends Activity { /** Called when the activity is first created. */ Gallery gl; ImageView iv; int imageIDs[]={ R.drawable.a,R.drawable.b,R.drawable.c, R.drawable.d,R.drawable.e,R.drawable.f, R.drawable.g };//将R文件的图片id用一个数组 MyAdapter ma; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init();//把xml文件的id传进来,初始化 ma=new MyAdapter();//适别器 gl.setAdapter(ma);//加载识别器 //监听事件 gl.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub iv.setImageResource(imageIDs[arg2%imageIDs.length]); }//一组图片的不停替换,通过一个巧妙的取余运算 @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } class MyAdapter extends BaseAdapter{ @Override public int getCount() { // TODO Auto-generated method stub return Integer.MAX_VALUE; }//有的人可能会问为什么不是ma。size();是因为下面的gallery列表项无限的延伸,所以 //要保证position无限的大,因为getView方法就是通过,调用position的值 @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return 0; } @Override public View getView(int arg0, View arg1, ViewGroup arg2) { // TODO Auto-generated method stub /用代码实现了一个gallery列表项,相信都看的懂/ ImageView iv=new ImageView(getApplicationContext()); iv.setImageResource(imageIDs[arg0%imageIDs.length]); iv.setAlpha(200); iv.setScaleType(ImageView.ScaleType.FIT_XY); iv.setLayoutParams(new Gallery.LayoutParams(103, 106)); return iv; } } private void init() { // TODO Auto-generated method stub gl=(Gallery)this.findViewById(R.id.gl); iv=(ImageView)this.findViewById(R.id.iv); } }
相关推荐
Gallery是图片浏览组件,主要实现横向显示图片列表,实现图片浏览。其中使用Adapter继承BaseAdapter
android中运用gallery进行图片浏览,并用定时器实现图片的自动滑动浏览。
Gallery能够水平显示其内容,一般用来浏览图片,被选中的选项位于中间,并且可以相应事件显示信息。下面结合ImageSwitcher组件来实现一个通过缩略图来浏览图片的程序。
可以实现gallery浏览图片,手指滑动可以浏览,并且增加了字典里滑动图片方便大家浏览,图片还有文字说明,下面图片滚动标志。
使用Gallery浏览图片,实现相册的功能
android Gallery 3d 图片浏览 倒影 oom解决了 读取可获取内置外置sd卡中图片
Android Gallery 自定义ImageView和Gallery实现图片浏览功能,类似Android图库软件,主要实现的功能有:图片左右滑动、放大缩小、放大弹回、缩小弹回。 一开始使用Viewpager实现图片浏览,发现两张图片滑动时没有...
Gallery&ImageSwitcher;实现图片浏览效果
android 中Gallery的简单使用 简单实现了拖动式图片浏览的功能 以及背景设置
利用Gallery实现3D效果浏览图片,设置了倒影效果,遮罩效果。
本实例源代码结合我的博客"Eg:Gallery与ImageSwitcher结合的图片浏览小程序"一起发布,希望能是大家看的更明白、直观。
带水平滚动的gridveiw 重载HorizontalScrollView实现类Gallery功能 ViewPage支持图片缩放 支持网络图片显示
Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现Gallery浏览图片效果。 本示例通过GridView和Gallery两个控件,模仿实现一个完整的仿Gallery图像集的...
智能家居系统 图片浏览Gallery.doc 学习资料 复习资料 教学资源
Android利用Gallery和ImageSwitcher实现在线相册图片预览功能(异步加载图片)
用gallery+framelayout做新闻首页图片浏览效果
主要介绍了Android编程滑动效果之Gallery仿图像集浏览实现方法,结合实例形式详细分析了Gallery浏览图片的原理、步骤与相关实现技巧,需要的朋友可以参考下
我们知道现在智能手机上都有这样一种功能,就是你在浏览图片的时候。不是硬性的点击按钮而是可以实现手指的拖动,划开效果。使用户具有更好的交互体验,不过这种效果是如何实现的呢? 在Android中是通过Gallery来...
Android应用源码之Gallery相册浏览_浏览
Galler2D (不同源代码本有得叫Gallery3d)包含了照相,图片浏览 上传图片等一些列共能,效果很绚丽的。值得学习。如果想学习opengl es 耶可以参考这个,这个用opengl es做的