ITPub博客

首页 > 应用开发 > IT综合 > 带货直播系统源码中,商品详情页是如何搭建起来的

带货直播系统源码中,商品详情页是如何搭建起来的

原创 IT综合 作者:万岳教育系统 时间:2020-07-17 15:10:26 0 删除 编辑

1.  实现滑动控制到导航栏的显示和隐藏

mScrollView.setOnScrollChangeListener(
new View.OnScrollChangeListener() 
{    
@Override    
public void onScrollChange
(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY
) 
{        
float alpha=(float)scrollY/(float)300; //aplpha值控制范围在0-300        
ViewUtil.setAlpha(mVTab,alpha); //设置导航栏的透明度
 
public static void setAlpha
(View view,float alpha) 
{    
if(view==null||view.getAlpha()==alpha){        
return;    
}    
if(alpha>1)
{   //大于1过滤       
alpha=1F;    
}    
view.setAlpha(alpha);
}


 

2.  实现点击导航栏切换到对应的模块

private void 
checkDffect(
int 
item) { 
//item 0,1,2,3 分别对应的4个模块
    
if
(
mCurrentItem
==item){
        
return
;
    
    selectTabLine(item);
    
switch 
(item){
        
case 
0:
            scroll(
mPannelViewProxy
);
            
break
;
        
case 
1:
            scroll(
mGoodsEvaluateViewProxy
);
            
break
;
        
case 
2:
            scroll(
mGoodsRecommendViewProxy
);
            
break
;
        
case 
3:
            scroll(
mGoodsWebViewProxy
);
 
private void 
scroll(
final 
BaseGoodItemViewProxy goodItemViewProxy) {
//goodItemViewProxy是view的管理器
    
if
(
mScrollView
!=
null
&&goodItemViewProxy!=
null
&&goodItemViewProxy.getTop()!=-1){
        
mScrollView
.post(
new 
Runnable() { 
//通过post方法延迟执行
            
@Override
            
public void 
run() {
                
mScrollView
.scrollTo(0,goodItemViewProxy.getTop());//传入view的top
            }
        });
    }
else 
{
        DebugUtil.
sendException
(
"scroll报错了"
);
    }
}


   

3.  手指滑动页面,tab自动切换到对应的显示位置

 

mScrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() 
{    @Override    
public void onScrollChange
(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) 
{        if(mPannelViewProxy!=null)
{         if(mPannelViewProxy.isScrollTop(scrollY))
{ //每一个view都去监听scrollview的滚动位置             
selectTabLine(0);             
if(mPannelViewProxy.getOffectTabHeight()==0)
{                 //将tab栏高度传入,加入偏移量,目的是控制view滑动到tab栏正下面属于复合条件                
mPannelViewProxy.setOffectTabHeight(mVTab.getHeight());             
}          
}        
}
 
 
    
 
public boolean isScrollTop(int dy)
{    boolean isUp=lastScroolDy-dy>0;//是否是上滑    
dy=dy+mOffectTabHeight; //加入偏移量    if(mContentView!=null)
{       mTop=mContentView.getTop(); //       mBottom=mContentView.getBottom();       
/*因为onScrollChange不是绝对实时的,并不能精确控制到没有误差,所以加入30上下到允许值*/       
if(Math.abs((dy-mTop))<30)
{   
//当滑动到view顶部的时候          
return true;       
}else if(isUp&&Math.abs((dy-mBottom))<30)
{//当向上滑到view的底部的时候,也应该切换到对应的栏目        
return true;       
}    
}    
lastScroolDy=dy; //记录上一次滑动的值    
return false;
}


以上就是带货直播系统源码中,商品介绍详情页是被如何搭建起来的


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69968464/viewspace-2705222/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-03-26

  • 博文量
    153
  • 访问量
    57147