0

アニメーション付きのボタン(リニアレイアウトに配置)があります。アニメーションが完了したら (単純な translateAnimation)、そのアニメーション ボタンを有効にします。アニメーションを使用してもボタンのドローアブルにのみ効果があるため、クリック可能な「場所」は元の位置にとどまることに気付きました。

layout= (LinearLayout) findViewById (R.id.newitemtext);
 layout.setBackgroundResource(R.drawable.white_box);
btn = (Button) findViewById (R.id.btn);
 moveLefttoRight = new TranslateAnimation(0,0 , 0, 200);
            moveLefttoRight.setDuration(1000);
            moveLefttoRight.setFillAfter(true); 


            animbutton.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    layout.startAnimation(moveLefttoRight);
                    layout.setEnabled(true);


                }
            });

btn.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Log.i("TAG", "CCIK");


                }


});

btn ボタンは LinearLayout レイアウトにあります。アニメーションの後に位置を設定するにはどうすればよいですか? setPadding を使用しようとしましたが、成功しませんでした。前もって感謝します!

4

1 に答える 1

0

を使用View.setLayoutParams()してビュー パラメータを更新します。パラメータを更新する方法は、ビューが内部にあるレイアウトの種類に依存することに注意してください。たとえば、ビューが にある場合LinearLayout、(重力、重量、幅、高さなど) に関連するパラメーターのみを調整LinearLayoutできるため、絶対 X/Y 座標を調整することはできません。のようなものに切り替えてRelativeLayout、他のビューの場所に基づいてビューを最終的な移動先に移動してみることをお勧めします。

于 2012-04-14T12:49:46.710 に答える