GithubHelp home page GithubHelp logo

ysnows / doublescrollview Goto Github PK

View Code? Open in Web Editor NEW
626.0 18.0 138.0 78.17 MB

android仿京东、淘宝商品详情页上拉查看详情 [没有时间维护了,还有很多小问题,只做一个思路提供吧]

Java 100.00%

doublescrollview's Introduction

###简介 通过behavior实现的类似京东淘宝商品详情页面的上拉下拉页面的切换效果。

DoubleScrollView

测试apk

demo.apk

用法

监听

PageContainer pageContainer = (PageContainer) view.findViewById(R.id.container);

pageContainer.setOnPageChanged(new PageBehavior.OnPageChanged(){

    @Override
    public void toTop() {
        //位于第一页
    }

    @Override
    public void toBottom() {
        //位于第二页
    }
});

pageContainer.scrollToBottom()//到第二页
pageContainer.backToTop()//滑动到第一页

依赖

  1. 依赖doublescrollview library模块或者直接拷贝PageBehavior,Page,PageContainer类和res文件下的文件到项目中。
  2. 为coordinatelayout中的作为第二页的组件添加 behavior属性为pagehebavior即可。
  3. 具体设置见demo。

demo引用库

  1. banner:Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等

参考文章

  1. 使用 CoordinatorLayout 实现复杂联动效果

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.```

doublescrollview's People

Contributors

ditclear avatar ysnows avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doublescrollview's Issues

动态加入list样式的数据不行

好像不支持listview嵌套,会被遮住,换成LinearLayout动态添加布局,刚开始会被遮住,需要移动上下移动移动,执行到重新计算,才会恢复正常显示

快速滑动到第二页,过程不停,继续滑第二页只有一页?

有个bug,快速滑动到第二页,过程不停,继续滑第二页,可以看到第二页只有一屏,
第三次滑动第二页时,才是正常的。
(可以简单理解为 第二页第一次滑动,滑不下去,需要第二次滑动才能滑下去)
可以肯定是作者提供的代码的bug,并不是我引用有问题。

下拉不灵,显示ScrollViewPageOne的Padding

在ScrollViewPageOne中,move事件,判断是否交给RootScrollView处理后续事件的条件:if(Ys < 0 && padding == limit)改为if(Ys < 0 && padding <= limit)貌似会好点。
同样的,在Two中,把条件改为if(Ys > 0 && t <= 0)会好点。望采纳。

有个问题请教一下。

您好,我最近研究了一下你的代码,有个问题想请教一下,SlidingMenu类中的onMeasure方法,对于这两行代码:
//设置两个子View的高度为手机的高度
wrapperMenu.getLayoutParams().height = mScreenHeight;
wrapperContent.getLayoutParams().height = mScreenHeight;
为什么要将这两个scrollView的高度设置为屏幕的高度?

关于滑动的监听

如何监听 要滑动的是下一页 或者上一页? 还有让其滑动到下一页的方法是什么?

关于PageTwoWebView

如果直接用PageTwoWebView 了话 一进去就是显示PageTwoWebView 而PageOne还在屏幕外
而我吧DoubleSrcollViewWrapper 里面的onLayout() 里面的判断去掉直接 使用this.scrollTo(0, 0); 暂时解决了 但是这是为什么呢

PageOne 里面存在banner左右滚动图片上下拉问题

PageOne 里面存在banner左右滚动图片,PageOne 在banner区域的上下滑动是拖动真个PageOne显示的页面在动。比如在banner区域的向上滑动,直接跳到PageTwo页面了,并不是滑动显示完PageOne页面的所有内容再显示PageTwo的类容。这是banner滑动于这控件滑动事件冲突了???

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.