动画后如何设置按钮的位置?

时间:2012-04-14 10:31:13

标签: android animation position clickable

我有一个带动画的按钮(放置在线性布局中)。动画完成后(简单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但没有成功。 提前致谢!

1 个答案:

答案 0 :(得分:0)

使用View.setLayoutParams()更新视图参数 - 请注意,它取决于视图内部的布局类型,以了解如何更新参数。例如,如果您的视图位于LinearLayout,那么您将只能调整与LinearLayout(重力,重量,宽度,高度等)相关的参数,这样您就不会能够调整绝对X / Y坐标。您可能希望切换到RelativeLayout之类的内容,尝试根据其他视图的位置将视图移动到最终目的地。