2012-03-26 2 views
0

나는 Galaxy Nexus 화면 중앙에 원을 그리려하고 있으며 무엇보다 학습 경험이 있습니다. 이렇게하려면 다음 코드 줄을 사용하고 있습니다.중심 축 원을 그리는 Galaxy Nexus

canvas.drawCircle(canvas.getWidth()/2, canvas.getHeight()/2, 40, paint); 

문제는 화면 오른쪽 하단에있는 원의 1/4 만 볼 수 있다는 것입니다. 내 Galaxy SII에서 이와 똑같은 코드를 시도했으며 화면 중앙에 원을 그립니다. 나는 getwidth와 getheight의 값을 확인했는데 640x1052를보고합니다. 그러나 화면에서 오른쪽 아래의 픽셀의 좌표는 화면 상 버튼을 제외한 약 450만큼 320입니다.

무슨 일입니까? 앱의 일부가 해상도 또는 다른 것을 설정할 수 있습니까?

아래에 전체 활동을 포함 시켰습니다.

package com.helloworld; 


import android.app.Activity; 
import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.Color; 
import android.graphics.Paint; 
import android.graphics.Paint.Style; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.view.WindowManager; 

public class ShapeTest extends Activity { 
    class RenderView extends View { 
     Paint paint; 
     public RenderView(Context context) { 
      super(context); 
      paint = new Paint(); 
     } 
     protected void onDraw(Canvas canvas) { 
      Context context = getApplicationContext(); 

     canvas.drawRGB(255, 255, 255); 
     paint.setColor(Color.RED); 
     canvas.drawLine(0, 0, this.getWidth()-1, this.getHeight()-1, paint); 
     paint.setStyle(Style.STROKE); 
     paint.setColor(0xff00ff00); 
     canvas.drawCircle(canvas.getWidth()/2, canvas.getHeight()/2, 40, paint); 
     paint.setStyle(Style.FILL); 
     paint.setColor(0x770000ff); 
     canvas.drawRect(100, 100, 200, 200, paint); 

    } 
} 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(new RenderView(this)); 
} 

}

답변

0

코드의 가장 중요한 라인이되어야 함 :

canvas.drawCircle (getWidth()/2를 getHeight()/2, 40, 페인트);

그리는 선이 화면의 왼쪽 상단에서 오른쪽 하단으로 이동한다고 가정합니다. 맞습니까?

+1

감사합니다. 그렇지 않습니다. 그걸 수정 한 것 같습니다. Galaxy Nexus가 아닌 SII에서 작동하는 이유는 무엇입니까? – DNN

관련 문제