【发布时间】:2015-01-04 01:25:03
【问题描述】:
在不涉及 layoutParams 的情况下,是否有另一种方法来调整、折叠或展开视图?我在新 Material Design 的一些视频和新的 Android Dialer App 中看到了这些动画。谷歌说材料可以很容易地改变形状、大小、旋转、颜色等……但我什么也找不到。
是否有向后兼容性?
到目前为止,为了调整、折叠或展开视图,我们必须像这样使用 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 拨号器应用中获得的示例:
【问题讨论】:
标签: android resize android-custom-view material-design