本文给大家介绍如何在Android中实现宫格图片连续滑动效果。

  在这之前,写过几篇关于在Android中实现滑动的效果,毕竟滑动效果在Andriod开发中也使用得比较频繁,有兴趣的朋友请查看我以前的文章,这里不再详述。

  今天写这篇文章的缘由是前一段时间一个网友在我的博客上面留言,想要实现在GridLayout(相当于九宫格)中点击每项可左右滑动显示该宫格的图片,当该宫格的图片显示完以后,接着显示下一宫格的图片。那么看过我以前关于滑动方面的文章的朋友,相信要实现前者的效果并不难,关键在于如何实现后者,即如何在一个宫格的图片显示完以后,接着显示下一宫格的图片。那么这就是我们今天这篇文章要探讨的内容。

  

  说到这里呢,首先对这位网友说声抱歉,由于前些日子太忙,直到现在有那么一点时间来写这篇文章,毕竟平常工作也比较忙,不能即时回答大家的问题,还请谅解。

  好了,言归正传,继续来介绍我们的内容。在这篇文章里,我们实现的示例带有什么样的功能呢?为了大家能更多的学习Android方面的知识,我的这个示例除了实现上面讨论的功能以外,还实现了如下的功能:

  1. 图片多线程加载;
  2. 图片可自动浏览;
  3. 可隐藏头部和底部;
  4. 图片加载时可显示翻牌效果;
  5. 宫格切换时实现3D切换效果;
  6. 宫格图片可切换成ListView样式;
  7. 可配置各种选项,比如缓存大小、线程池大小、图片显示等。

  为了大家能更好的理解,我们先来看下要实现的效果图:

Android实现宫格图片连续滑动效果Android实现宫格图片连续滑动效果

  大家看了效果图之后就会有一种似曾相识的感觉。这就对了,因为这种效果在新闻客户端中比较常见,当然也可以用于其他的应用当中。

  下面就让我们开始实现过程。

  先熟悉下MainActivity.java的代码,如下:

package com.palace.image.activity;import com.image.loader.core.DisplayImageOptions;import com.palace.image.R;import com.palace.image.adapter.GridViewAdapter;import android.content.Intent;import android.graphics.Color;import android.graphics.drawable.ColorDrawable;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.AdapterView.OnItemClickListener;/** * Android实现宫格图片连续滑动效果 * @Description: Android实现宫格图片连续滑动效果 * @File: MainActivity.java * @Package com.palace.image.activity * @Author Hanyonglu * @Date 2012-09-19 下午05:57:34 * @Version V1.0 */public class MainActivity extends BaseActivity {    private GridView gridView = null;    private String[] imageValues = null;    private String[] titleValues = null;    private DisplayImageOptions options;        /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main_activity);                // 初始化        initViews();    }        /**     * 初始化     */    private void initViews(){        titleValues = getResources().getStringArray(R.array.news_title);        imageValues = getResources().getStringArray(R.array.small_images);        options = new DisplayImageOptions.Builder()            .showStubImage(R.drawable.ic_image_load)            .showImageForEmptyUri(R.drawable.ic_image_load)            .cacheInMemory()            .cacheOnDisc()            .build();                gridView = (GridView) findViewById(R.id.gridview);        gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));        gridView.setAdapter(new GridViewAdapter(                this, imageValues,titleValues,imageLoader,options));        gridView.setOnItemClickListener(itemOnClickListener);    }        // GridView单击项事件监听器    private OnItemClickListener itemOnClickListener = new OnItemClickListener() {        public void onItemClick(AdapterView<?> parent, View v,                int position, long id) {            Intent intent = new Intent();            intent.setClass(MainActivity.this, ImageActivity.class);            intent.putExtra("item_index", position);            startActivity(intent);        }    };        @Override    protected void onStop() {        super.onStop();        imageLoader.stop();    }        @Override    protected void onDestroy() {        // TODO Auto-generated method stub        super.onDestroy();        imageLoader.stop();    }}

  最后,希望转载的朋友能够尊重作者的劳动成果,加上转载地址:http://www.cnblogs.com/hanyonglu/archive/2012/09/19/2693465.html谢谢。

  未完待续。^_^

更多相关文章

  1. 在Android应用中集成YouTube视频播放功能
  2. Android之UI学习篇六:ImageView实现图片旋转和缩放
  3. Android 7.0 Nougat不得不知的11项新功能
  4. 快速开发框架Afinal的使用(数据库操作,HTTP请求,网络图片加载,控件绑
  5. Android bitmap图片处理
  6. Android 中,应用程序需要的图片资源如何针对不同屏幕大小手机设计
  7. 关于android的9path图片处理

随机推荐

  1. android ellipsize 属性详解
  2. android中用Spannable在TextView中设置超
  3. android ui界面设计参数讲解
  4. Android(安卓)TextView常用属性介绍Andro
  5. Android(安卓)数据的读取与写入2
  6. Android之screenOrientation属性
  7. Android中的inputType属性简单用法.
  8. Android(安卓)xml资源文件中@、@android:
  9. Android内核学习笔记
  10. Android相对布局属性全集