V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
likaci
V2EX  ›  问与答

Fragment 进入和移除时,怎样平滑移动其他 View ?

  •  
  •   likaci · 2015-01-22 21:12:17 +08:00 · 2060 次点击
    这是一个创建于 3585 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想要做出类似谷歌地图的效果,现在的区别就是
    Fragment载入时,上方的View会直接**跳**到指定位置。退出时也会直接跳到下面。
    除了直接用动画控制Fragment Fram的高度还有什么方法?

    谷歌地图效果,定位按钮平滑移动:
    
    现在的效果,定位按钮会跳:
    

    谢谢
    5 条回复    2015-01-24 10:22:31 +08:00
    kyze8439690
        1
    kyze8439690  
       2015-01-22 22:16:50 +08:00   ❤️ 1
    onCreateAnimator
    likaci
        2
    likaci  
    OP
       2015-01-23 09:48:13 +08:00
    @kyze8439690
    谢谢指点,现在基本实现了。但是感觉不理想
    ---
    白色的圆形按钮是fragment 外的view
    现在实现思路是,fragment resume的时候,获取view高度。
    调用 Activity中方法,动画移动上面白色按钮。
    ---
    不知道有没什么别的思路 :D
    kyze8439690
        3
    kyze8439690  
       2015-01-23 23:16:37 +08:00   ❤️ 1
    获取高度用view.getViewTreeObserver().setOnGlobalLayoutListener(),在里面getHeight(),记得remove
    kyze8439690
        4
    kyze8439690  
       2015-01-23 23:17:18 +08:00   ❤️ 1
    如果卡顿,记得setLayer HARDWARE,animation结束的时候set回去
    likaci
        5
    likaci  
    OP
       2015-01-24 10:22:31 +08:00
    @kyze8439690 嗯,现在就是这种形式,但总感觉这样Fragment和Activity纠缠着,用着不爽。
    再次感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2918 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:48 · PVG 16:48 · LAX 00:48 · JFK 03:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.