我正在研究Android应用程序,在按钮点击我给我的线性布局宽度和高度使其全屏,再次点击我给它的宽度和高度为1dp。我只需要为这个东西设置动画就像当我按下按钮它会慢慢动画到全屏幕时再次按下按钮它会慢慢动画到1dp的宽度和高度。我已经使用翻译这个东西,但它在这种情况下没有用。
btnResize.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(resize==true){
otherLayout.setLayoutParams(new LayoutParams(1, 1));
resize=false;
}else{
resize=true;
int height = LayoutParams.WRAP_CONTENT;
int width = LayoutParams.MATCH_PARENT;
// ImageView imageView = (ImageView)findViewById(R.id.imageView);
//
// Animation animZoomin = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.zoom_in);
//
// imageView.startAnimation(animZoomin);
otherLayout.setLayoutParams(new LayoutParams(width, height));
}
}
});
答案 0 :(得分:1)
您可以使用缩放动画:
首先计算屏幕尺寸:Get screen dimensions in pixels
接下来获取当前视图的宽度和高度。
计算2之间的比例以获得比例因子(提示:screenH / viewH)
接下来使用view.animate()。scaleX(xRatio).scaleY(yRatio)来启动 动画
如果视图未在屏幕中居中,您可能还需要翻译视图
其他选项是使用此方法:Expand/collapse animation