Android 以编程方式平滑地更改视图高度
我正在尝试以编程方式更改视图的高度。Android 以编程方式平滑地更改视图高度,android,view,height,Android,View,Height,我正在尝试以编程方式更改视图的高度。 我试过的是- 在某些单击事件中,我使用LayoutParams更改高度 rlOne.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, NEWHEIGHT)); 高度增加,但过渡不平滑。 如何实现从视图原始高度到视图新高度的平滑过渡? 我可以减慢转换速度吗?您可以编写一个for循环,其中视图的高度增加很少,而不是在增加计数器之前暂停。这样,用户将有一个平滑过
我试过的是-
在某些单击事件中,我使用LayoutParams更改高度
rlOne.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, NEWHEIGHT));
高度增加,但过渡不平滑。如何实现从视图原始高度到视图新高度的平滑过渡?
我可以减慢转换速度吗?您可以编写一个for循环,其中视图的高度增加很少,而不是在增加计数器之前暂停。这样,用户将有一个平滑过渡的印象。基本的想法是,首先计算新高度(视图增加后的高度)视图,然后写一个线程,逐像素增加旧视图的高度(视图增加前的高度)(一次可能是5-10像素)直到它达到新的高度。希望这个想法能有所帮助。使用from/to/speed值
ScaleAnimation scaleAnimation = new ScaleAnimation(from, to, from, to, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rlOne.setAnimation(scaleAnimation);
资料来源:
使用
LinearLayout linearLayout = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
你为什么不直接告诉我这个转变?@MocialovBoris:你能给我更多的信息吗。我应该使用缩放动画吗?除了缩放之外,还有其他东西吗?因为如果我从一侧缩放textView,它看起来不会减小宽度,它看起来像压缩没有编译,您正在为类型为
LinearLayout.LayoutParams
的对象分配一个引用到类型为LinearLayout
的变量。
LinearLayout linearLayout = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);