自定义viewGroup防淘宝商品详情页

效果

解决在顶部、底部还可以拖动的问题
  if (child==fragment2){
                if (top<0){
                    //让fragment2底部不能上拉 显示viewGroup的背景色
                    lastTop = 0;
                }
            }
//            else {
   
//                //让fragment1顶部不能下拉  如果能下拉显示的是viewGroup的背景色 
//                if (top>0){
   
//                    lastTop = 0;
//                }
//            }
 /**
         * 根据建议值修正将要移动到的位置(垂直)
         *
         * @param child 当前view
         * @param top   拖动应达到的Y坐标
         * @param dy    一般不用关注
         * @return 返回适当的值能进行垂直滑动
         */
        @Override
        public int clampViewPositionVertical(View child, int top, int dy) {
            //此处让第一个view过程中,第二个view也可以显示
            // 此处计算拖动的距离除以一个参数(3),是让滑动的速度变慢。数值越大,滑动的越慢
            int lastTop = top;
            if (child==fragment2){
                if (top<0){
                    //让fragment2底部不能上拉 
                    lastTop = 0;
                }
            }
//            else {
   
//                //让fragment1顶部不能下拉 
//                if (top>0){
   
//                    lastTop = 0;
//                }
//            }
            return child.getTop() + (lastTop - child.getTop()) / 3;
        }

主要代码:人比较懒代码里相关方法已做说明

/** 
* Created by xiaozhuge on 2016/5/3. 
* 
* @author xiaozhuge 
* 公司网址 http://www.gmjk.com/ 
* 自定义仿淘宝商品详情页布局 
*/ 
public class DragLayout extends ViewGroup {
    
private ViewDragHelper dragHelper; 
private GestureDetectorCompat gestureDetector;

private View fragment1, fragment2;
private int childIndix;
private int viewHegiht;
private int downTop;
/**
 * y 方向滑动的速度 超过这个值认为是 1或2
 */
private 
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值