У меня есть пользовательский View: ImageZoomView.java, который имеет setImage и переопределяет onLayout и onDraw следующим образом:
public void setImage(Bitmap bitmap) {
mBitmap = bitmap; ...
}
@Override
protected void onDraw(Canvas canvas) {
if (mBitmap != null && mState != null) {
...
canvas.drawBitmap(mBitmap, mRectSrc, mRectDst, mPaint);
}
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);...
}
И я хочу расположить несколько ImageZoomViews в RelativeLayout, используя правила layoutParams,но все мои представления застряли в позиции (0,0), я не знаю почему.
ImageZoomView mZoomView = new ImageZoomView(getApplicationContext());
mZoomView.setImage(mBitmap);
mZoomView.setId(index+1);
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.RelativeLayout01);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(screenWidth/2, screenHeight/2);
if(index > 0)
lp.addRule(RelativeLayout.RIGHT_OF, index);
relativeLayout.addView(mZoomView, lp);
Я пробовал точно такой же код с обычными ImageViews, он работает, и каждый вид позиционируется направо на (n-1) вид ...
Есть идеи, пожалуйста?Спасибо.