使用浮点值以编程方式更改视图的高度(Android)

时间:2014-10-15 20:29:19

标签: android view gesture onscrolllistener

所以我所拥有的只是一个在xml中定义的简单视图,我想要做的是使用onScroll手势,更改该视图的高度。唯一的问题是LayoutParams需要整数值,而onScroll提供的距离变化是浮点值。如何在不损失浮动精度的情况下调整此高度?

以下是我在onScroll方法中的内容:

int newHeight = mTopView.getHeight() + (int)distanceY;
if (newHeight <= maxHeight) {
    mTopView.setLayoutParams(new LinearLayout.LayoutParams(mTopView.getWidth(), newHeight));
}

1 个答案:

答案 0 :(得分:0)

正如Jaap van Hengstum所说:“LayoutParams尺寸以像素为单位,这是屏幕上可能的最小单位;你不能失去精确度”

所以只需将浮点数转换为int(并且可以使用int newHeight =(int)(height + 0.5f);再次由Jaap建议),一切都会顺利而且很酷。