基本信息
源码名称:Android+超高仿微信图片选择器(头像选择)
源码大小:2.23M
文件格式:.zip
开发语言:Java
更新时间:2015-08-31
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


头像选择


package com.zhy.utils;

import java.util.List;

import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.PopupWindow;

public abstract class BasePopupWindowForListView<T> extends PopupWindow
{
	/**
	 * 布局文件的最外层View
	 */
	protected View mContentView;
	protected Context context;
	/**
	 * ListView的数据集
	 */
	protected List<T> mDatas;

	public BasePopupWindowForListView(View contentView, int width, int height,
			boolean focusable)
	{
		this(contentView, width, height, focusable, null);
	}

	public BasePopupWindowForListView(View contentView, int width, int height,
			boolean focusable, List<T> mDatas)
	{
		this(contentView, width, height, focusable, mDatas, new Object[0]);

	}

	public BasePopupWindowForListView(View contentView, int width, int height,
			boolean focusable, List<T> mDatas, Object... params)
	{
		super(contentView, width, height, focusable);
		this.mContentView = contentView;
		context = contentView.getContext();
		if (mDatas != null)
			this.mDatas = mDatas;

		if (params != null && params.length > 0)
		{
			beforeInitWeNeedSomeParams(params);
		}

		setBackgroundDrawable(new BitmapDrawable());
		setTouchable(true);
		setOutsideTouchable(true);
		setTouchInterceptor(new OnTouchListener()
		{
			@Override
			public boolean onTouch(View v, MotionEvent event)
			{
				if (event.getAction() == MotionEvent.ACTION_OUTSIDE)
				{
					dismiss();
					return true;
				}
				return false;
			}
		});
		initViews();
		initEvents();
		init();
	}

	protected abstract void beforeInitWeNeedSomeParams(Object... params);

	public abstract void initViews();

	public abstract void initEvents();

	public abstract void init();

	public View findViewById(int id)
	{
		return mContentView.findViewById(id);
	}

	protected static int dpToPx(Context context, int dp)
	{
		return (int) (context.getResources().getDisplayMetrics().density * dp   0.5f);
	}

}