LayoutParamsを使用せずに、ビューのサイズを変更、折りたたむ、または拡大する別の方法はありますか?新しいマテリアルデザインのいくつかのビューと新しいAndroidダイヤラアプリ。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ダイヤラアプリ:
ViewPropertyAnimatorはあなたが望むものだと思います。このリンクを確認してください http://developer.Android.com/guide/topics/graphics/prop-animation.html#view-prop-animator
次に例を示します。
view.animate().scaleY(endHeight/initialHeight).start()
これは、コードで行ったのと同じアニメーションです