我尝试通过单击“按钮”来增加RecyclerView
的高度,然后使用“动画”来减小按钮的点击时的高度。
它正在适当地增加和减少,但是动画不起作用。
这是我的代码。
public void expand(View view) {
Button button = (Button) view;
if(button.getText().toString().equalsIgnoreCase("INCREASE")) {
button.setText("DECREASE");
final int height = (int) (recyclerView.getHeight() * 2.5);
Animation a = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
FrameLayout.LayoutParams lp =
new FrameLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, height);
lp.gravity = Gravity.BOTTOM;
recyclerView.setLayoutParams(lp);
}
};
a.setDuration(2000); // in ms
recyclerView.startAnimation(a);
}
else
{
button.setText("INCREASE");
final int height = (int) (recyclerView.getHeight() / 2.5);
Animation a = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
FrameLayout.LayoutParams lp =
new FrameLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, height);
lp.gravity = Gravity.BOTTOM;
recyclerView.setLayoutParams(lp);
}
};
a.setDuration(2000); // in ms
recyclerView.startAnimation(a);
}
}
我该怎么做?我不想伸展它。我想通过一些动画效果来增加它的高度。
答案 0 :(得分:0)
尝试使用值动画器。
header.blade.php
答案 1 :(得分:0)
我遇到了类似的问题,我通过在您的xml布局描述中的容器布局上添加属性android:animateLayoutChanges="true"
来解决了这个问题。
例如:
<LinearLayout
android:id="@+id/container"
android:animateLayoutChanges="true">
<RecyclerView
android:id="@+id/recyclerView"
...
/>
</LinearLayout>
希望有帮助!