0

私はCustomScrollView拡張するを持っていますScrollView、それから私はメソッドで何かをしますOnDraw()。残念ながら、CustomScrollViewもうスクロールできません。これが私が行うコードです。

@Override
protected void onDraw(Canvas canvas){
    super.onDraw(canvas);
    Log.d(null,"current measured height is:"+getMeasuredHeight());
    Log.d(null,"screen height is:"+mScreenHeight);

    Rect rect=new Rect(50,0,mScreenWidth-50,mScreenHeight<<1);
    canvas.drawRect(rect,mFilledPaint);
}

@Override
public void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
    super.onMeasure(widthMeasureSpec,heightMeasureSpec);
    setMeasuredDimension((int)mScreenWidth,(int)mScreenHeight<<1);
}

private void init(){
    mFilledPaint.setStyle(Paint.Style.FILL);
    mFilledPaint.setColor(Color.WHITE);

    mScreenWidth=((Activity)mContext).getWindowManager().getDefaultDisplay().getWidth();
    mScreenHeight=((Activity)mContext).getWindowManager().getDefaultDisplay().getHeight();
}
4

2 に答える 2

0

これらのコードをカスタムで記述してView(クラスを拡張するだけViewで)、それをに追加してみてくださいScrollView。メソッドをオーバーライドScrollViewすると、スクロールなどのデフォルトの動作が無効になります。

于 2012-07-03T09:02:16.340 に答える
0

何か余分なものをペイントする必要がある場合は、onMeasureオーバーライドを削除します。

于 2012-07-03T09:04:10.177 に答える