这里有新鲜出炉的精品教程,程序狗速度看过来!
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。
这篇文章主要介绍了在Android app中实现九(n)宫格图片连续滑动效果的方法,作者举了凤凰新闻应用的例子,同理功能图标也可以利用这样的滑动效果,需要的朋友可以参考下
今天写这篇文章的缘由是前一段时间一个网友在我的博客上面留言,想要实现在GridLayout(相当于九宫格)中点击每项可左右滑动显示该宫格的图片,当该宫格的图片显示完以后,接着显示下一宫格的图片。那么看过我以前关于滑动方面的文章的朋友,相信要实现前者的效果并不难,关键在于如何实现后者,即如何在一个宫格的图片显示完以后,接着显示下一宫格的图片。那么这就是我们今天这篇文章要探讨的内容。
说到这里呢,首先对这位网友说声抱歉,由于前些日子太忙,直到现在有那么一点时间来写这篇文章,毕竟平常工作也比较忙,不能即时回答大家的问题,还请谅解。
好了,言归正传,继续来介绍我们的内容。在这篇文章里,我们实现的示例带有什么样的功能呢?为了大家能更多的学习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.phperz.com/article/17/0928/348916.html