我使用ScaleAnimation
来调整ImageView
的大小。但是在动画完成后,我如何才能获得ImageView
或位图的维度。
感谢
这是我的代码:
ScaleAnimation animation = new ScaleAnimation(m_oldZoomRatio, m_currentZoomRatio, m_oldZoomRatio, m_currentZoomRatio);
animation.setFillAfter(true);
animation.setFillEnabled(true);
animation.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationEnd(Animation animation) {
}
});
m_child.startAnimation(animation);
m_oldZoomRatio != m_currentZoomRatio
。
我可以看到我的视图在运行时更改其布局。但是当获得它的宽度和高度时,我会在创建视图时收到原始值。
答案 0 :(得分:1)
尝试使用动画侦听器在动画结束时可以更改宽度和高度
<animation-object>.setAnimationListener(new AnimationListener()
{
@Override
public void onAnimationEnd(Animation arg0) {
img.getWidth();
img.getHeight();
//OR
int h=img.getLayoutParams().height;
int w=img.getLayoutParams().width;
// For changing actual height and width
view.getLayoutParams().width = newWidth;
view.getLayoutParams().height = newHeight;
view.requestLayout();
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationStart(Animation arg0) {
}
});