我有一个带动画的按钮(放置在线性布局中)。动画完成后(简单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但没有成功。 提前致谢!
答案 0 :(得分:0)
使用View.setLayoutParams()
更新视图参数 - 请注意,它取决于视图内部的布局类型,以了解如何更新参数。例如,如果您的视图位于LinearLayout
,那么您将只能调整与LinearLayout
(重力,重量,宽度,高度等)相关的参数,这样您就不会能够调整绝对X / Y坐标。您可能希望切换到RelativeLayout
之类的内容,尝试根据其他视图的位置将视图移动到最终目的地。