我有一个使用包含ImageButtons的RelativeLayout制作的工具栏。我想在动画期间折叠/展开此RelativeLayout而不修改按钮高度。实际上,按钮会在动画期间自动更改高度以匹配父高度。它使动画变得迟钝而不是我想要的。
布局
<RelativeLayout
android:id="@+id/tweet_toolbar_container"
android:layout_width="match_parent"
android:layout_height="@dimen/tweet_toolbar_height"
android:layout_marginTop="8dp"
android:background="#858585">
<ImageButton
android:id="@+id/tweet_toolbar_reply"
android:layout_width="48dp"
android:layout_height="@dimen/tweet_toolbar_height"
android:background="@drawable/background_gray_darker"
android:src="@drawable/tweet_icon_toolbar_reply"/>
</RelativeLayout>
动画
private void collapseToolbar() {
ObjectAnimator animator = ObjectAnimator.ofInt(mToolbarContainer, VIEW_LAYOUT_HEIGHT, mToolbarHeight, 0);
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
mToolbarContainer.setVisibility(View.GONE);
}
});
animator.setDuration(ANIMATION_DURATION);
animator.start();
}
Property<View, Integer> VIEW_LAYOUT_HEIGHT = new Property<View, Integer>(Integer.class, "viewLayoutHeight") {
public void set(View object, Integer value) {
object.getLayoutParams().height = value.intValue();
object.requestLayout();
}
public Integer get(View object) {
return object.getLayoutParams().height;
}
};
有谁知道如何实现它?