我有这个自定义视图:
class BaseView extends FrameLayout() {
@Override
void onAttachedToWindow() {
View.inflate(context, R.layout.view, this)
}
}
在onAttachedToWindow方法中填充自定义视图的正确位置是什么?
我想在onAttach可以让父布局完全重绘之后可能会膨胀它。
如果在onAttachedToWindow中充气是错误的,那么哪里是正确的地方?
此视图是动态添加的(通过addView),而在其他地方则是放在xml定义中。
答案 0 :(得分:4)
扩充自定义视图布局的正确位置在构造函数中:
class BaseView extends FrameLayout {
public BaseView(Context context) { this(context, null); }
public BaseView(Context context, AttributeSet attrs) {
super(context, attrs);
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.view, this, true);
...
}
}