有时候我们自定义画好一个view,但是需要传递一些参数,发现在构造函数中传递过来的参数无效,在网上找了下原因:
public MyView(Context context,int value){
super(context);
this.context = context;
this.value = value;
matrix = new Matrix();
}
如果你在xml里面写的布局的话,这时候你在activity里面调用上面的构成方法传递参数是无效的,因为它默认调用的是下面构造函数
public MyView(Context onctext, AttributeSet attrs) {
super(onctext, attrs);
matrix = new Matrix();
}
那么如何解决这个问题呢?在Activity里面写如下代码:
MyView view = new MyView(LoginActivity.this,3);
view.setMinimumWidth(LayoutParams.FILL_PARENT);
view.setMinimumHeight(LayoutParams.WRAP_CONTENT);
relative.addView(view); //relative是指父控件