企业互联网服务.docx

上传人:b****6 文档编号:3038203 上传时间:2022-11-17 格式:DOCX 页数:75 大小:33.61KB
下载 相关 举报
企业互联网服务.docx_第1页
第1页 / 共75页
企业互联网服务.docx_第2页
第2页 / 共75页
企业互联网服务.docx_第3页
第3页 / 共75页
企业互联网服务.docx_第4页
第4页 / 共75页
企业互联网服务.docx_第5页
第5页 / 共75页
点击查看更多>>
下载资源
资源描述

企业互联网服务.docx

《企业互联网服务.docx》由会员分享,可在线阅读,更多相关《企业互联网服务.docx(75页珍藏版)》请在冰豆网上搜索。

企业互联网服务.docx

企业互联网服务

importandroid.content.Context;

importandroid.util.AttributeSet;

importandroid.view.MotionEvent;

importandroid.view.View;

importandroid.view.ViewTreeObserver.OnGlobalLayoutListener;

importandroid.view.animation.DecelerateInterpolator;

importandroid.widget.AbsListView;

importandroid.widget.AbsListView.OnScrollListener;

importandroid.widget.ListAdapter;

importandroid.widget.ListView;

importandroid.widget.RelativeLayout;

importandroid.widget.Scroller;

importandroid.widget.TextView;

importcom.insthub.ecmobile.R;

importandroid.os.Message;

importandroid.os.Handler;

publicclassXListViewextendsListViewimplementsOnScrollListener{

privatefloatmLastY=-1;//saveeventy

privateScrollermScroller;//usedforscrollback

privateOnScrollListenermScrollListener;//user'sscrolllistener

//theinterfacetotriggerrefreshandloadmore.

privateIXListViewListenermListViewListener;

//--headerview

privateXListViewHeadermHeaderView;

//headerviewcontent,useittocalculatetheHeader'sheight.Andhideit

//whendisablepullrefresh.

privateRelativeLayoutmHeaderViewContent;

privateTextViewmHeaderTimeView;

privateintmHeaderViewHeight;//headerview'sheight

privatebooleanmEnablePullRefresh=true;

privatebooleanmPullRefreshing=false;//isrefreashing.

//--footerview

privateXListViewFootermFooterView;

privatebooleanmEnablePullLoad;

privatebooleanmPullLoading;

privatebooleanmIsFooterReady=false;

//totallistitems,usedtodetectisatthebottomoflistview.

privateintmTotalItemCount;

//formScroller,scrollbackfromheaderorfooter.

privateintmScrollBack;

privatefinalstaticintSCROLLBACK_HEADER=0;

privatefinalstaticintSCROLLBACK_FOOTER=1;

privatefinalstaticintSCROLL_DURATION=400;//scrollbackduration

privatefinalstaticintPULL_LOAD_MORE_DELTA=50;//whenpullup>=50px

//atbottom,trigger

//loadmore.

privatefinalstaticfloatOFFSET_RADIO=1.8f;//supportiOSlikepull

//feature.

privateintid;

/**

*@paramcontext

*/

publicXListView(Contextcontext){

super(context);

initWithContext(context);

}

publicXListView(Contextcontext,AttributeSetattrs){

super(context,attrs);

initWithContext(context);

}

publicXListView(Contextcontext,AttributeSetattrs,intdefStyle){

super(context,attrs,defStyle);

initWithContext(context);

}

privatevoidinitWithContext(Contextcontext){

mScroller=newScroller(context,newDecelerateInterpolator());

//XListViewneedthescrollevent,anditwilldispatchtheeventto

//user'slistener(asaproxy).

super.setOnScrollListener(this);

//initheaderview

mHeaderView=newXListViewHeader(context);

mHeaderViewContent=(RelativeLayout)mHeaderView

.findViewById(R.id.xlistview_header_content);

mHeaderTimeView=(TextView)mHeaderView

.findViewById(R.id.xlistview_header_time);

addHeaderView(mHeaderView);

//initfooterview

mFooterView=newXListViewFooter(context);

//initheaderheight

mHeaderView.getViewTreeObserver().addOnGlobalLayoutListener(

newOnGlobalLayoutListener(){

@Override

publicvoidonGlobalLayout(){

mHeaderViewHeight=mHeaderViewContent.getHeight();

getViewTreeObserver()

.removeGlobalOnLayoutListener(this);

}

});

}

@Override

publicvoidsetAdapter(ListAdapteradapter){

//makesureXListViewFooteristhelastfooterview,andonlyaddonce.

if(mIsFooterReady==false){

mIsFooterReady=true;

addFooterView(mFooterView);

}

super.setAdapter(adapter);

}

/**

*enableordisablepulldownrefreshfeature.

*

*@paramenable

*/

publicvoidsetPullRefreshEnable(booleanenable){

mEnablePullRefresh=enable;

if(!

mEnablePullRefresh){//disable,hidethecontent

mHeaderViewContent.setVisibility(View.INVISIBLE);

}else{

mHeaderViewContent.setVisibility(View.VISIBLE);

}

}

/**

*enableordisablepulluploadmorefeature.

*

*@paramenable

*/

publicvoidsetPullLoadEnable(booleanenable){

mEnablePullLoad=enable;

if(!

mEnablePullLoad){

mFooterView.hide();

mFooterView.setOnClickListener(null);

}else{

mPullLoading=false;

mFooterView.show();

mFooterView.setState(XListViewFooter.STATE_NORMAL);

//both"pullup"and"click"willinvokeloadmore.

mFooterView.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewv){

startLoadMore();

}

});

}

}

/**

*stoprefresh,resetheaderview.

*/

publicvoidstopRefresh(){

if(mPullRefreshing==true){

mPullRefreshing=false;

resetHeaderHeight();

}

}

/**

*stoploadmore,resetfooterview.

*/

publicvoidstopLoadMore(){

if(mPullLoading==true){

mPullLoading=false;

mFooterView.setState(XListViewFooter.STATE_NORMAL);

}

mFooterView.setEnabled(true);

}

/**

*setlastrefreshtime

*

*@param

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1