Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:自定义视图更改大小_Android_Android Custom View - Fatal编程技术网

Android:自定义视图更改大小

Android:自定义视图更改大小,android,android-custom-view,Android,Android Custom View,我在自定义视图上使用OnClickListener,此代码用于在单击时放大视图: @Override public void onClick(View v) { if (!large) { this.getLayoutParams().height *= 2; } else { this.getLayoutParams().height /= 2; } large = !large; } 但是,当我单击“查看未发生任何事

我在自定义视图上使用OnClickListener,此代码用于在单击时放大视图:

@Override
public void onClick(View v)
{
    if (!large)
    {
        this.getLayoutParams().height *= 2;
    } else {
        this.getLayoutParams().height /= 2;
    }

    large = !large;
}

但是,当我单击“查看未发生任何事情”、“查看不更改大小”时?

像这样更改您的方法..然后它就会工作

@Override
public void onClick(View view)
{
LayoutParams params = view.getLayoutParams();
     if (!large)
        {
            params.height = 2 * view.getHeight();     
        } else {
            params.height = view.getHeight()/2;
        }
        large = !large;
        view.setLayoutParams(params);
} 

您必须使视图无效,才能告诉Android重新绘制视图:

this.invalidate();

超级卡利…))