스크롤보기가 있습니다. 사용자 정의보기에서 사용자 정의보기에 onMeasure를 덮어 씁니다. & onTouchEvent하지만 스크롤 할 때 아무것도 그려지지 않습니다.canvas.getHeight는 태블릿 장치의 view.getHeight와 같습니다.
protected final void onDraw(Canvas paramCanvas)
{
int text_width;
int yCanvas;
yCanvas = paramCanvas.getClipBounds().top;
int h = paramCanvas.getClipBounds().height() ;
int hView = this.getHeight() ;
int topView = this.getTop();
paramCanvas.drawText("text...yCanvas :"+yCanvas + " --- hCanvas:"+h +"--- hView" + hView + " ----topView"+topView, 20, yCanvas+200, new Paint());
}
@Override
public boolean onTouchEvent(MotionEvent event) {
boolean res = super.onTouchEvent(event);
postInvalidate();
System.out.println("result: " + res);
return res;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int h = 1000;
setMeasuredDimension(View.MeasureSpec.getSize(widthMeasureSpec), h);}
흥미로운 것은()의 모든 정제에서 높이도 높이지만, 다른 장치에 동일한 canvas.heigh mycanvas이다 어이 디스플레이 exactullay 같다.
이 매개 변수를 설정했지만 회신하지 않습니다. 다른 장치에서는 잘 작동하지만 태블릿에서는 작동하지 않습니다. ( –
위치가 문제일까요? onMeasure에서 무엇을하고 있는지 (고정 된 '1000'은 의심스러워 보입니다). – Brian
i 위치를 그립니다 0,0) 처음 텍스트를 그릴 때 처음 스크롤 할 때 작동하지 않습니다. 에뮬레이터와 다른 장치 (소니, samsung)에서 잘 작동하지만 삼성 태블릿 (P5100)을 실행하면 작동하지 않습니다. –