Я создаю собственный view-MyImageView-для рисования растрового изображения в нем, я использую setLayoutParams (), чтобы установить ширину и высоту моего вида, но это не работает, я использую log для отслеживания ширины и высоты моего вида, я обнаружил, что оба они равны 0, почему ширина и высота не равны 300? вот часть моего основного кода активности:
myCanvas=new MyImageView(CanvasTest3Activity.this,Path);
LinearLayout.LayoutParams p=new LinearLayout.LayoutParams(300,300);
myCanvas.setLayoutParams(p);
вот часть кода моего MyImageView:
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int parentwidth=MeasureSpec.getSize(widthMeasureSpec);
int parentHeight=MeasureSpec.getSize(heightMeasureSpec);
int mywidth=(int)(parentHeight*0.5);
setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec),mywidth);
}