作家
登录

【Android】这效果,我没法描述

作者: 来源: 2017-11-09 17:23:21 阅读 我要评论

int minScrollHeight = mHeader.getMeasuredHeight(); 
  •                 int margin = minScrollHeight + verticalOffset; 
  •                 margin = margin > 0 ? 0 : margin; 
  •                 FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) mStickyView.getLayoutParams(); 
  •                 layoutParams.topMargin = margin; 
  •                 mStickyView.setLayoutParams(layoutParams); 
  •             } 
  •         }); 
  • 这里经由过程AppBarLayout滚动的进行监听(向上滚动时,verticalOffset值的变更为:0、-1 、-2 ... -n-1、-n)来计算margin值。经由过程改变topMargin,实现“被顶走”的效不雅。

    再看一眼效不雅:

    敲到这里,我才默默的收起了那把砍产品专用菜刀。

    Tips

    问题:应用CoordinatorLayout时,滚动不流畅问题

    解决筹划:可以写个Behavior添加到AppBarLayout中。具体的解决筹划

    问题:如不雅你在想要刷新功能,在CoordinatorLayout外面套了一个SwipeRefreshLayout,一不当心就触发了刷新~~(本身领会)

    解决筹划:这个问题可以经由过程对AppBarLayout的监听,设置swipeLayout的Enabled来处理

    1. mAblAppBar.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> { 
    2.    if (verticalOffset == 0) { 
    3.       swipeLayout.setEnabled(true); 
    4.    } else { 
    5.        if (!swipeLayout.isRefreshing()) { 
    6.           swipeLayout.setEnabled(false); 
    7.        } 
    8.    } 
    9. }); 

    【编辑推荐】

    1. 对tableView三种计算动态行高办法的分析
    2. Table Views加快的是个开辟Tips
    3. Android底部导航栏实现(四)之TabLayout+ViewPager
    4. 调试手机中数据库的福音:Android-Debug-Database
    5. iOS应用UITableView实现的富文本编辑器
    【义务编辑:未丽燕 TEL:(010)68476606】

      推荐阅读

      若相关程序员不幸逝世,他的开源软件会有人维护吗

    Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践这就是Searls在处理Weirich开源项目中碰到的一个问题。 Weirich最受迎接的项目在他去世的时刻有合营治理者。然则Searl>>>详细阅读


    本文标题:【Android】这效果,我没法描述

    地址:http://www.17bianji.com/lsqh/38686.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)