4

私は API 22 を使用しています。オレンジ色のビューは のAppBarLayout内側CoordinatorLayoutです。上に翻訳して無くすようにしています。画面からはみ出してほしい。

私は翻訳の高さを取得しています:

AppBarLayout bar;
Rect r = new Rect();
bar.getLocalVisibleRect(r );
float h = r.height();
  • Animatedは単なる呼び出しbar.animate().translationY(-h)などです。(ViewCompat.animate(bar)、new TranslateAnimation()、...)も試しました)
  • 直接呼び出しは、 への直接呼び出しbar.setTranslationY(-h)です。

ここに画像の説明を入力

問題は、以前の場所で即座に置き換えられ、翻訳が 0 に戻ることです (つまり、bar.getTranslationY() == 0に設定しただけでも-h)。私はこれに何時間も費やしました。あなたが考えるかもしれません

多分それは不可能です。CoordinatorLayout はそのような動作を許可していません

それは真実ではない。まったく同じコードが API17 で魅力的に機能し、最後の数時間で API22 で機能しない理由がわかりませんでした。これが不可能な理由、またはこれを引き起こすAPI17とAPI22の違いを理解する上で、助けていただければ幸いです。

または、おそらく、問題を回避する方法。フレームレートが低くてすみません。(補足質問: バグ レポートを提出する必要がありますか? バグだと思いますか? )

4

0 に答える 0