如果不涉及layoutParams,是否有其他方法可以调整大小,折叠或展开视图?我在新的Material Design和新的Android Dialer应用程序的一些视频中看到了动画。 Google表示材料可以轻松改变形状,大小,旋转,颜色等......但我找不到任何东西。
是否有向后兼容性?
到目前为止,为了调整大小,折叠或展开视图,我们必须使用layoutParams,例如:
public static void collapse(final View v) {
final int initialHeight = v.getMeasuredHeight();
Animation a = new Animation()
{
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
if(interpolatedTime == 1){
v.setVisibility(View.GONE);
}else{
v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime);
v.requestLayout();
}
}
@Override
public boolean willChangeBounds() {
return true;
}
};
a.setDuration((int)(initialHeight / v.getContext().getResources().getDisplayMetrics().density));
v.startAnimation(a);
}
以下是我想要的新Google Android拨号器应用的示例:
答案 0 :(得分:8)
我认为ViewPropertyAnimator就是你想要的。 点击此链接http://developer.android.com/guide/topics/graphics/prop-animation.html#view-prop-animator
以下是一个例子:
view.animate().scaleY(endHeight/initialHeight).start()
这与您在代码中执行的动画相同