资源简介
HorizontalListView.java
代码片段和文件信息
package com.goood.tshirtdesign.view.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.onclickListener;
import android.view.View.OnLongClickListener;
import android.view.View.OnTouchListener;
import android.view.WindowManager;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import com.goood.tshirtdesign.view.adapter.ZbaseAdapter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 自定义HorizontalListView,水平的listview,用自定义的adapter。图片或者其他布局都可以放进去
* @author Administrator
*
*/
public class HorizontalListView extends HorizontalScrollView implements
onclickListenerOnTouchListenerOnLongClickListener
{
/**
* 图片滚动时的回调接口
*
* @author zhy
*
*/
public interface CurrentImageChangeListener
{
void onCurrentImgChanged(int position View viewIndicator);
}
/**
* 条目点击时的回调
*
* @author zhy
*
*/
public interface OnItemClickListener
{
void onclick(View view int pos);
}
public interface OnItemTouchListener
{
void onTouch(View view int posMotionEvent event);
}
public interface OnItemLongClickListener
{
void onLongClick(View view int pos);
}
private CurrentImageChangeListener mListener;
private OnItemClickListener monclickListener;
private OnItemTouchListener mOnTouchListener;
private OnItemLongClickListener mOnLongClickListener;
private static final String TAG = “MyHorizontalScrollView“;
/**
* HorizontalListView中的LinearLayout
*/
private LinearLayout mContainer;
/**
* 子元素的宽度
*/
private int mChildWidth;
/**
* 子元素的高度
*/
private int mChildHeight;
/**
* 当前最后一张图片的index
*/
private int mCurrentIndex;
/**
* 当前第一张图片的下标
*/
private int mFristIndex;
/**
* 当前第一个View
*/
private View mFirstView;
/**
* 数据适配器
*/
private ZbaseAdapter mAdapter;
/**
* 每屏幕最多显示的个数
*/
private int mCountOneScreen;
/**
* 屏幕的宽度
*/
private int mScreenWitdh;
/**
* 保存View与位置的键值对
*/
private Map mViewPos = new HashMap();
public Map getmViewPos() {
return mViewPos;
}
public HorizontalListView(Context context AttributeSet attrs)
{
super(context attrs);
// 获得屏幕宽度
WindowManager wm = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics outMetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(outMetrics);
mScreenWitdh = outMetrics.widthPixels;
}
@Override
protected void onMeasure(int widthMeasureSpec int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec heightMeasureSpec);
mContainer = (LinearLayout) getChildAt(0);
}
/**
* 加载下一张图片
*/
protected void loadNextImg()
{
// 数组边界值计算
if (mCurrentInde
- 上一篇:Java的计算器含代码和报告
- 下一篇:android 屏幕测试源码
相关资源
- Android分区工具包
- 药品进销存管理系统(论文范文_JSP
- Java写的一个简单的字体更改程序
- 尚硅谷Java视频Java8新特性视频教程
- 关于CommVault统一数据管理方案
- 基于CenGRP3.0 烟草行业企业整合解决方
- java并发编程实战高清版pdf
- java并发编程实战pdf
- 实现jsp页面二级下拉框联动,实时读
- 北师大学珠海校区实施SunONE数字校园
- Java-核心技术-36-讲李运华完.pdf
- 小工具,解决oschina码云svn文件夹不能
- Sun公司为中国客户提供Java架构咨询与
- 美国Holy Cross 医院使用Sun 解决方案对
- 立邦漆公司向Sun架构的移植预期使总
- 通用电气公司基于Sun 平台部署其全球
- jbpm(juel-api.jar)
- jstl 和 standard jar 包
- 验证全志R18的LCD+HDMI双屏异显
- jsp网站模板
- 《21天学通SQL Server》源码
- JSP多文件上传同时上传
- J2EE服务支持平台下融通供应商服务系
- Data Structures and Algorithm Analysis in Java
- Thinking In Java第五版
- think in java中文第五版
- JAVA JDK百度网盘地址
- jdk1.9安装包
- NCC-OpenAPI文档.zip
- JAVA并发编程实战.pdf
评论
共有 条评论