翻译后的视图(AppBarLayout)被放回原来的位置

时间:2015-06-19 23:48:47

标签: android android-layout material-design android-design-library android-coordinatorlayout

我使用的是API 22.橙色视图是AppBarLayout内的CoordinatorLayout。 我试图通过将其翻译到顶部来使其消失。我希望它离开屏幕。

我的翻译高度来自:

AppBarLayout bar;
Rect r = new Rect();
bar.getLocalVisibleRect(r );
float h = r.height();
  • 动画只是对bar.animate().translationY(-h)的调用,依此类推; (尝试过ViewCompat.animate(bar),new TranslateAnimation(),...)
  • 直接通话是对bar.setTranslationY(-h)的直接电话。

enter image description here

问题是它在之前的位置立即被替换,并且翻译返回到0(即bar.getTranslationY() == 0,即使我刚刚将其设置为-h)。我花了好几个小时;你可能会想到

  

也许这是不可能的; CoordinatorLayout不允许这样的行为

那不是真的。完全相同的代码在API17上像一样工作,在过去的几个小时里,我没有看到为什么它不应该在API22上。我要感谢任何帮助,要么理解为什么这是不可能的,要么API17和amp;之间有什么区别?导致这种情况的API22。

或者,也许,如何解决这个问题。抱歉低帧率。 (附带问题:我应该提交错误报告吗?你认为这是一个错误吗?

0 个答案:

没有答案