Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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
Java Android为什么setLayoutParams不';t设置自定义视图大小?_Java_Android - Fatal编程技术网

Java Android为什么setLayoutParams不';t设置自定义视图大小?

Java Android为什么setLayoutParams不';t设置自定义视图大小?,java,android,Java,Android,在我的构造函数中,我首先设置布局参数100x100,然后我想将轴心点设置到中心,但是getWidth()和getHeight()返回0,因此如果setLayoutParams()不起作用,为什么会发生这种情况?因为我必须硬编码我想要阅读的大小,关于三个不同的构造函数对于自定义视图的必要性。如果您自己没有直接实例化视图(即,您在.xml布局中定义了视图),则很可能没有调用构造函数 CustomView(Context c, Boolean animate) { super(c);

在我的构造函数中,我首先设置布局参数100x100,然后我想将轴心点设置到中心,但是
getWidth()
getHeight()
返回0,因此如果
setLayoutParams()
不起作用,为什么会发生这种情况?因为我必须硬编码我想要阅读的大小,关于三个不同的构造函数对于自定义视图的必要性。如果您自己没有直接实例化视图(即,您在.xml布局中定义了视图),则很可能没有调用构造函数

CustomView(Context c, Boolean animate) {
    super(c);
    this.animate = animate;
    p = new Paint();
    p.setColor(Color.BLACK);
    setLayoutParams(new ActionBar.LayoutParams(100, 100));
    setPivotX(getX() + getWidth() / 2);
    setPivotY(getY() + getHeight() / 2);
    if(animate)
    {
        post(this);
    }
}