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);
}
}
在我的构造函数中首先设置布局参数100x100,然后我想将轴心点设置到中心,但getWidth()
和getHeight()
返回0,就好像{{1}没有工作,为什么会这样?因为我必须硬编码我想要的尺寸
答案 0 :(得分:0)
阅读this question,了解自定义视图的三种不同构造函数的必要性。如果您不是自己直接实例化视图(即您已经在.xml布局中定义了视图),那么您的构造函数很可能无法被调用。