在屏幕触摸上调整imageview的大小

时间:2014-12-05 00:00:45

标签: android eclipse imageview size

我的图像视图大小调整到给定范围内的随机大小。下面的方法在onCreate中调用,并且在第一次调用时工作正常。但是当在onTouchEvent中调用它时,该方法会运行,但不会调整imageView的大小。

public void setInnerCircleSize()
{

        widthMultiplier = r.nextInt(75 - 25) + 25;
        widthToSet = ((widthScreen / 100) * widthMultiplier);
        circle.getLayoutParams().height = widthToSet;
        circle.getLayoutParams().width = widthToSet;

}
public boolean onTouchEvent(MotionEvent event) {
    int eventaction = event.getAction();

    switch (eventaction) {
        case MotionEvent.ACTION_DOWN: 
            if(hitCheck == true)
            {
                hitCheck = false;
                setInnerCircleSize();
            }
            break;

        case MotionEvent.ACTION_MOVE:
            break;

        case MotionEvent.ACTION_UP:   
            hitCheck = true;
            break;
    }
}
当有一个动作事件并且随机变量被创建时,

setInnerCircleSize被称为罚款,因此在这方面没有任何错误。只是它不会再次调整大小,即使从onCreate调用它时效果非常好。

1 个答案:

答案 0 :(得分:1)

你必须使视图无效,告诉android重绘它。由于您要更改视图边界,我认为您可以使用:

View.requestLayout();