模仿新浪微博使用帮助

先上图吧:

共有美工做好的4张图片,当浏览到最后一页时点击进入客户端。

模仿新浪微博使用帮助_第1张图片模仿新浪微博使用帮助_第2张图片模仿新浪微博使用帮助_第3张图片模仿新浪微博使用帮助_第4张图片模仿新浪微博使用帮助_第5张图片

点击第四涨图片之后进入客户端。

 

首先定义一个Gallery,我这里为了取消android系统的Gallery的惯性滚动实现短距离滚动,而自定义了一个SlowGallery.java

package com.test.gallery;

import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.widget.Gallery;
/**
 * Gallery 取消惯性滚动 实现短距离滚动
 * @author wenjie
 *
 */
public class SlowGallery extends Gallery {
	public SlowGallery(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}
	 	
	public SlowGallery(Context context) {
		super(context);
	}


	public SlowGallery(Context context, AttributeSet attrs) {
		super(context, attrs);
	}


	@Override
	  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
	    float velocityY) {
	   // 只需要去除翻页惯性 - 方法1:
	   // return super.onFling(e1, e2, 0, velocityY);
	   // 只需要去除翻页惯性 - 方法2:
	   // return false;
	   // 实现短距离滚动:
	   int kEvent;
	   if (isScrollingLeft(e1, e2)) {
	    // Check if scrolling left
	    kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
	   } else {
	    // Otherwise scrolling right
	    kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
	   }
	   onKeyDown(kEvent, null);
	   return true;
	  }
	 
	 
	
	  @Override
	public boolean onDown(MotionEvent e) {
		return super.onDown(e);
	}



	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		return super.onKeyDown(keyCode, event);
	}



	@Override
	public boolean onKeyUp(int keyCode, KeyEvent event) {
		// TODO Auto-generated method stub
		return super.onKeyUp(keyCode, event);
	}



	@Override
	public boolean onTouchEvent(MotionEvent event) {
		// TODO Auto-generated method stub
		return super.onTouchEvent(event);
	}

	

	private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2) {
	   return e2.getX() > e1.getX();
	}
  
}


第二步:在Activity中展示图片即可,这里需要用到一个适配器,我直接写了个内部类ImageAdapter.java

public class ImageAdapter extends BaseAdapter
	{
		int mGalleryItemBackground;
		private Context mContext;

		public ImageAdapter(Context context)
		{
			mContext = context;  						
		}

		public int getCount()
		{
			return resIds.length;
		}

		public Object getItem(int position)
		{
			return position;
		}

		public long getItemId(int position)
		{
			return position;
		}

		public View getView(int position, View convertView, ViewGroup parent) {
			textView.setText((position+1)+"/"+resIds.length);
			ImageView i = new ImageView(mContext);  
			i.setImageResource(resIds[position]);//给ImageView设置资源 
			i.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));//设置布局 图片200×200显示  
			i.setScaleType(ImageView.ScaleType.FIT_XY);//设置比例类型  
			
			return i;  
			
		} 
	}


第三步:给SlowGallery对象添加点击事件,也很简单的。

直接调用setOnItemClickListener(new AdapterView.OnItemClickListener()方法即可。

 

好了,今天到这里了,运行不了需要源码的朋友留下邮箱,我抽时间传给大家。

 

 

你可能感兴趣的:(android,新浪微博,object,null,Class,float)