5

TranslateAnimation の後、翻訳されたビューの OnClickListener は翻訳されません。カスタム LinearLayout で getHitRect をオーバーライドしようとしましたが、成功しませんでした。また、タッチデリゲートと、インターネット全体で見つかった他のすべての提案を使用しようとしましたが、成功しませんでした:)

TranslateAnimation open = new TranslateAnimation(0, displayWidth - ivTimelineWidth, 0, 0);
open.setDuration(1000);   
open.setFillAfter(true);
llMapContent.startAnimation(open);

私を助けてください :)

ジュリアン

4

1 に答える 1

7

あなたの問題を正しく理解している場合、翻訳後に何かをクリックしたいのですが、何かの onTouch が登録されていません。この問題は、TranslateAnimation が実際にオブジェクトを移動せず、画面上のピクセルだけを移動するために発生しています。アイテムがあった領域に触れると、onTouch が呼び出されます。画面上のピクセルではなくオブジェクトを実際に移動するには、次のコード スニペットを使用することをお勧めします。

MarginLayoutParams marginParams = new MarginLayoutParams(someobject.getLayoutParams());
marginParams.setMargins(xx, xx, xx, xx);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
someobject.setLayoutParams(layoutParams); 

おそらく、これをonAnimationEndまたはonAnimationStartメソッドに配置する必要があります。お役に立てれば。

于 2012-04-21T21:24:26.737 に答える