2014-12-18 1 views
1

현재 서페이스 뷰의 캔버스에 서클을 그릴 필요가있는 앱이 있습니다.캔버스에 동그라미 그리기가 동일하거나 적어도 다른 기기에서 비슷한 크기가되도록

모든 것이 잘 작동하지만 다른 장치에서 원을 정확하게 조정하는 방법을 알지 못합니다.

내 갤럭시 S4의 원은 적절한 크기입니다.

내 아내의 Galaxy S3에 같은 앱을로드 할 때 비교 대상이 너무 많습니다.

이것은 화면 해상도와 밀도 때문인 것으로 확신하지만 전화 해상도에 따라 화면 해상도/밀도를 고려하여 원형 크기를 올바르게 조정하는 방법에 어려움을 겪고 있습니다.

내 앱에서 원이 그려지는 예입니다. crcl.radius는 현재 100의 고정 된 크기입니다.이 100은 장치를 기반으로 확장 할 필요가 있지만이를 수행 할 수 있도록 수식을 감쌀 수는 없습니다. 나는 변환이 비교적 간단하다고 가정하고있다.

면책 조항 : Android의 경우 다소 오래 사용했습니다 (약 6 개월 사용).

myCanvas.drawCircle(crcl.x, crcl.y, crcl.radius, selected_paint); 

도움을 주셔서 감사합니다.

+0

안드로이드의 중심에서 둥근 원을 가지고 있습니다. –

답변

2

픽셀 대신 dp 값을 사용할 수 있습니다. 이 트릭을해야한다고 생각합니다.

myCanvas.drawCircle(crcl.x, crcl.y, dipToPixels(getApplicationContext(),crcl.radius), selected_paint); 

이 함수는 dp를 픽셀로 변환합니다.

+0

당신은 절대 괴롭히는 사람입니다. 고맙습니다. 매력처럼 작동했습니다. 건배 – tronious

관련 문제