詳細については、私のthis previous questionを参照してください。LAYOUTを右から左にアニメーション化する方法は?
私はスライドインメニューを持っていると思った、メニュー自体は、いくつかの画像とテキストビューを含む、グリッドビューです。
これは私がやったことです:constaintレイアウトを使用して、私は右の私がしなければならなかったすべては、画面外側から内側にそれを移動することであると考え、画面の右端外に置きました。
私は多くの問題が発生しているが、それにもかかわらず、私はそれらのほとんどを解決しました。今私は解決できない1つの問題があります:
"ビュー"をアニメーション化すると、例えばonTouchListenerが応答する領域がプログラムで反応する領域は移動しません。言い換えれば、ビューのグラフィカル表現、画像は移動されますが、プログラミングのものやレイアウト(おそらくレイアウトが正しいものであるかわかりませんが、残念です)後ろに。
今、あなたは私の困惑を理解することができます。私は、グラフィックスとリアクティブエリアの両方をターゲットデスティネーションに移動したい。言い換えれば、ユーザーは画面の右端から入ってくるメニューを見ることができるだけでなく、メニューをクリックできるようにすべきであり、応答する必要があります。
しかし、私が悩んでいるのは、ユーザーがビューを見ることができるということです。しかし、タブをクリックすると何も起こりません。反応領域、レイアウト(これは正しいことがわかりません)がスクリーンの外に残ってしまった。
私はあなたが何を考えている知っている:それは難しいことではありません
さて、ここでの事だ、と私は最終的だ」だから
setLayoutParams
を使用して、レイアウトの新しい場所を設定します? 。私がしなければならないか、全体の問題ではなく、急激なように見えるだろう何かであるすべてのバックグラウンド、後に、ポイントに来
は、ここで翻訳アニメーションXMLスクリプトです:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromXDelta="0%"
android:toXDelta="-100%"
android:duration="300"
/>
</set>
あなたが見ることができるように、私は画像を移動しています、私のレイアウト/ビューのグラフィック表示/何でも私のレイアウト/ビュー/反応面積の-100%です。これを使用するとどうなりますか?
constraintLayoutParams.leftMargin = 1958;
swipeGridMenu.setLayoutParams(constraintLayoutParams);
?ユーザーは画面の右側にメニューを表示しますが、画面の右端には表示されません。代わりに、メニューの間に空白があります(反応領域が 'それがリアクションエリア/レイアウトであるので、それは適切に整列され、それは残されています)とスクリーンの右端とブランクエリアの幅はメニューの幅です。
そして、私はあきらめています:次のグラフは、状況がどのようなものであるかを示しています。どのように私はこれを微調整しても、それはいつも厄介なものと理想的でないもので終わるでしょう。では、レイアウト全体をアニメーション化して移動するにはどうすればよいですか?私はちょうど私のグリッドビューメニューを新しい場所にスムーズに移動し、そこにとどまらせてクリック可能にしたい。
ご協力いただきますようお願い申し上げます。
興味深い!私にそれを実装する時間を与えてください。 :-) –