2012-04-05 1 views
0

私はこのコードを持っています。 最初のdrawLineだけが描画され、残りの2つは描画されません。他の2つのドローイングが現在のケースではうまくいかない理由を誰もが説明できますか? drawLine()ステートメントで "factor"を "1/2"に置き換えても機能します。 おかげCanvas.drawLine()の定数の使用

パブリッククラスRenderViewビュー{

Paint paint; 
private float factor = 1/2; 

public RenderView(Context context) { 
    // TODO Auto-generated constructor stub 
    super(context); 
    paint = new Paint(Paint.ANTI_ALIAS_FLAG); 
} 

@Override 
protected void onDraw(Canvas canvas) { 

    int screenWidth = canvas.getWidth(); 
    int screenHeight = canvas.getHeight(); 

    paint.setColor(Color.RED); 


    canvas.drawLine(0, 0, screenWidth, screenHeight, paint); 

    canvas.drawLine(factor*screenWidth, 0, factor*screenWidth, screenHeight, paint); 


    canvas.drawLine(0, factor*screenHeight, screenWidth, factor*screenHeight, paint); 

    invalidate();  
} 

}

答えて

1

1/2(整数分割で)0で延びています。 1f/2か0.5fを試してみてください。

1

私は問題は、1/2は整数除算であり、したがって1/2 = 0.だと思います。代わりに0.5fを試してください。

関連する問題