2012-11-26 3 views
4

작은 게임을 만들었고 내 친구/동료가 모토로라 Xoom 태블릿에서이 게임을 사용해 보았습니다. 단지 렌더링이 엉망이었습니다! 나는 무엇이 잘못되었는지를보기 위해 모든 것을 단순화하기 위해 모든 것을 벗기고, 드로잉에 관해서는 Motorola Xoom이 단지 버그라고 생각하고 있습니다. 정확한 동일한 드로잉 코드와 함께 동일한 APK가 둘 모두에 사용되었습니다. 난 그냥과 같이, 지금 검은 색 사각형 그리기있어 사용자 지정보기 가지고 있습니다 :모토로라 Xoom에 버그가 있거나 그저 나입니까?

@Override 
public void draw(Canvas canvas) { 
    super.draw(canvas); 

    canvas.save(); 
    canvas.scale(16.0f, 16.0f); 
    float lineWidth = 20/16.0f; 

    paint.setAntiAlias(false); 
    paint.setStyle(Paint.Style.STROKE); 
    paint.setStrokeWidth(lineWidth); 
    paint.setColor(boardColor); // boardColor is just black 
    canvas.drawRect(100/16.0f, 
        100/16.0f, 
        200/16.0f, 
        200/16.0f, 
        paint); 

    canvas.restore(); 
} 

을 내 스프린트 갤럭시 SII, 안드로이드 4.0.4, I 수 (나는 또한 갤럭시 SIII 장치에이를 수) : 내 친구의 모토로라 줌에 Galaxy SII screenshot

, 안드로이드 4.1.2, 내가 얻을 : Motorola Xoom screenshot

나는 그것이 제대로 크기, 비 앤티 앨리어싱 직사각형 할 수 있기를 바랍니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 아니면 Xoom입니까?

+0

또 다른 것은, 하하, 당신은 이상한 true로 앤티 앨리어싱 설정 한 경우, Xoom의에 광장을 퇴색 적어도 대칭이다. XD 아직 흐릿 해 보이지만 실제로는 매우 작은 원본 선 너비 크기와 관련이 있다고 생각합니다. – leenephi

답변

0

스케일링에 이상한 점이 있습니다. canvas.scale()을 꺼내서 rect의 모든 "/ 16.0f"를 제거하면 rect가 잘 보입니다. 그걸로, 내 xoom은 친구의 xoom에서 이상한 사각형을 보여줄 수 있습니다.

그래서 모양을 조정하는 다른 방법을 찾아야합니다.

mPixelsInOneDp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, 
      res.getDisplayMetrics()); 

나는 "mPixelsInOneDp 확실히 내 모든 측정을 할 수 있고. 내가, 스케일링에 문제가 없었어요 다른 장치를 통해 DP들에 동일하게 끝나게하지 무엇을 사용 그래서 결국 당신 '그림 그것은의 Xoom에서 잘 보이는 때까지 숫자를 조정할 필요 것이다.

+0

고마워요. 다른 Xoom에서 확인합니다. Xoom이 그래픽 스케일링에 실패한 이유에 대해 알고 있습니까? – Cornstalks

+0

사실, 저는 현재 스케일링이 많은 프로젝트에서 아무런 문제없이 작업하고 있습니다. 그것은 SII의 더 높은 것에 비해 태블릿의 낮은 dp와 관련이있을 수 있습니다. 장치에서 그래픽을 확대하는 데 사용하는 답변으로 해당 대답을 편집 할 것입니다. – leenephi

+0

lineWidth가 1.something 픽셀로 끝나기도하고, 1-2 픽셀을 확장하면 이상하게 보일 수 있습니다. 솔직히 내가 생각할 수있는 전부입니다! – leenephi

관련 문제