更改布局的高度平滑

Mar*_*vel 2 android

我已经搜索并尝试了一些如何使用平滑动画更改视图高度的方法.我找到并且最方便的最简单的方法就是这个:

 ScaleAnimation scaleAnimation = new ScaleAnimation(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT,
                                mainLayout.getMeasuredHeight(), mainLayout.getMeasuredHeight() - mediaController.getMeasuredHeight() - conv.toPixels(20),
                                Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
                        musicListLayout.setAnimation(scaleAnimation);
                        musicListLayout.startLayoutAnimation();
Run Code Online (Sandbox Code Playgroud)

但是这种方法不起作用,我不知道为什么.我已经尝试了一些,但我想让这个工作或找到另一个.

我有一个播放列表,( WRAP_CONTENT, WRAP_CONTENT )当我播放我播放的歌曲MediaController时,我想翻译/动画,RecyclerViewMediaController改变它们的尺寸以适应屏幕.

谢谢您的帮助.

nat*_*rio 11

最简单的方法(API> 11,我认为):直接改变高度,根本没有动画,并android:animateLayoutChanges="true"在布局中的父视图上设置.

要改变动画时间,尝试调用container.getLayoutTransition().setDuration(duration)其中container的上述父视图.