我正在尝试以编程方式更改视图的高度
我试过的是 -
RelativeLayout rlOne;
rlOne = (RelativeLayout) findViewById(R.id.rlOne);
在某些点击事件中,我正在使用LayoutParams更改高度。
rlOne.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, NEWHEIGHT));
高度增加但转换不顺畅 如何实现从视图原始高度到视图新高度的平滑过渡? 我可以减缓过渡吗?
答案 0 :(得分:2)
基本上这个想法是,你先计算新的高度(视图增加后的高度)视图然后写一个线程,逐个像素地增加旧视图的高度(增加之前视图的高度)(可能)一次是5-10个像素),直到达到新的高度。希望这个想法有所帮助。
答案 1 :(得分:0)
你可以写一个for循环,其中视图的高度增加很少,而不是在增加计数器之前进行暂停。通过这种方式,用户将获得平滑过渡的印象。
答案 2 :(得分:0)
使用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);
来源:
答案 3 :(得分:-1)
使用
LinearLayout linearLayout = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);