1、XML文件

<?xml version="1.0" encoding="utf-8"?>
<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gallery01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

</Gallery>

2、ImageAdapter

public class ImageAdapter extends BaseAdapter {
    // 定义context
    private Context context;
    // 定义整型数组,即图片源
    private Integer[] imageIds = { R.drawable.button1, R.drawable.button2,
            R.drawable.button3, R.drawable.button31 };

// 声明ImageAdapter
    public ImageAdapter(Context c) {
        context = c;
    }

// 获取图片数量
    @Override
    public int getCount() {
        return imageIds.length;
    }

// 获取图片在库中的位置
    @Override
    public Object getItem(int position) {
        return position;
    }

// 获取图片在库中的位置
    @Override
    public long getItemId(int position) {
        return position;
    }

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(context);
        // 给ImageView设置资源
        imageView.setImageResource(imageIds[position]);
        // 设置布局图片以120*120显示
        imageView.setLayoutParams(new Gallery.LayoutParams(120, 120));
        // 设置显示比例类型
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        return imageView;
    }

}

3、GalleryActivity

public class GalleryActivity extends Activity {

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_gallery);
        // 获得Gallery对象
        Gallery g = (Gallery) findViewById(R.id.gallery01);
        g.setAdapter(new ImageAdapter(this));
        // 设置gallery背景
        // g.setBackgroundResource(R.drawable.button31);
        // 设置gallery背景颜色
        g.setBackgroundColor(Color.GRAY);
        g.setOnItemClickListener(new OnItemClickListener() {

@Override
            public void onItemClick(AdapterView<?> parent, View v,
                    int position, long id) {
                Toast.makeText(GalleryActivity.this,
                        "您选择了" + (position + 1) + "号图片", Toast.LENGTH_SHORT)
                        .show();
            }
        });
    }

}

Android——Gallery 图片拖动效果的更多相关文章

  1. Android 单击图片切换效果

    新建一个Android项目,命名为FrameLayout 此实例主要操作src文件夹下的MainActivity.Java类文件和res/layout下的activity_main.xml布局文件 1 ...

  2. javascript 实现图片拖动

    javascript实现图片拖动效果并不难,主要的思路如下 1:给图片绑定监听鼠标按下对象,设置拖动属性为true 2:鼠标抬起:拖动属性为false 鼠标移动:改变坐标即可,新坐标=图片原始坐标+鼠 ...

  3. Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...

  4. Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源码

    在android学习中,动作交互是软件中重要的一部分,其中的Scroller就是提供了拖动效果的类,在网上,比如说一些Launcher实现滑屏都可以通过这个类去实现.下面要说的就是上次Scroller ...

  5. Android 仿 窗帘效果 和 登录界面拖动效果 (Scroller类的应用) 附 2个DEMO及源代码

    在android学习中,动作交互是软件中重要的一部分.当中的Scroller就是提供了拖动效果的类,在网上.比方说一些Launcher实现滑屏都能够通过这个类去实现.以下要说的就是上次Scroller ...

  6. android图片拖动缩放

    这篇图片拖拽缩放也是我在项目中用到的,今天整理一下,将源码奉献给大家,希望对大家以后碰到相似的问题有帮助.android 大图片拖拽缩放 这篇就不做过多介绍了,直接上源码: public class ...

  7. android 中ImageButton按下改变背景图片的效果

    最近在做一个app的登陆界面,才发现原来认为很简单的UI效果,其实背后却蕴含的知识很多,积累一个算一个吧. 实现方法有两种:一种是添加代码,一种是配置xml文件. 方法一:代码添加 ImageButt ...

  8. Android实现图片轮显效果——自定义ViewPager控件

    一.问题概述 使用ViewPager控件实现可横向翻页.水平切换图片等效果,但ViewPager需要手动滑动才能切换页面,图片轮显效果的效果本质上就是在ViewPager控件的基础上让它能自动的进行切 ...

  9. Android:通过滤镜实现点击图片变暗效果

    实现点击图片(ImageView)变暗效果,有一个较简单的方法,就是讲目标图片设置为背景图片(setBackground),再创建一个selector.xml文件,里面放置一张普通状态时的透明图片,一 ...

随机推荐

  1. c# 鼠标在控件上拖动 移动窗体 移动窗口

    #region 移动窗体 移动窗口 private Point _mousePoint; private int topA(Control cc) { if (cc == null || cc == ...

  2. Angular学习(5)- 数组双向梆定+filter

    示例: <!DOCTYPE html> <html ng-app="MyApp"> <head> <title>Study 5< ...

  3. .net平台的RSA实现以及与Delphi之间的互操作性

    .net平台下面的RSA算法实现是RSACryptoServiceProvider,如果安装了 Microsoft Enhanced Cryptographic Provider,则 RSACrypt ...

  4. 错误:javax.servlet.jsp.PageContext can not be to a type

    在写Jsp文件时,引入script源文件(<script type="text/javascript" src="${pageContext.request.con ...

  5. Python 创建函数和代码重用

    1. cat func.py #!/usr/bin/python def func(): print "hello,this is a function" def func2(): ...

  6. Linux下nl命令的用法详解

    Linux中nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧. nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文 ...

  7. 【转】SQL SERVER CLR存储过程实现

    最近做一个项目,需要做一个SQL SERVER 2005的CLR的存储过程,研究了一下CLR的实现.为方便以后再使用,在这里总结一下我的实现流程,也供对CLR感兴趣但又不知道如何实现的朋友们做一下参考 ...

  8. 在mac上安装svn客户端

    mac 10.8上面,默认是没有svn客户端的,可以通过以下两种方式来安装:    1.单独安装xcode命令行工具,安装完成后,在终端中就可以使用svn命令了,目前版本是1.6.18:    2.去 ...

  9. java命令行HPROF Profiler

    The HPROF Profiler The Heap and CPU Profiling Agent (HPROF)是JAVA2 SDK自带的一个简单的profiler代理,它通过与Java Vir ...

  10. [MySQL] 常用SQL技巧--18.5

    1.正则表达式使用 MySQl利用REGEXP命令,提供正则表达式功能. 例子:select 'abcdef' REGEXP '^a'; select 'efg' REGEXP '[^XYZ]'; 2 ...