2010-03-13 1 views
2

안드로이드 에뮬레이터의 화면 크기를 픽셀 단위로 결정했습니다. 해상도를 다른 숫자로 변경할 수 있다고 생각합니다. 솔직히 말해서 각 축의 픽셀 수를 알지 못하는 일반적인 문제를 해결하지는 못합니다. 일반적으로 안드로이드 애플리케이션에서 작동해야합니다.안드로이드 애플리케이션의 캔버스를 픽셀 단위로 만들려면 얼마나 크지 않습니까?

내가 해결하려고하는 주요 문제는 다음과 같습니다. 어떻게하면 크기를 일정하게 유지하려는 경우 안드로이드 응용 프로그램에서 잘못된 해상도를 사용하지 않도록 할 수 있습니까? 응용 프로그램 화면이 축소되면, 예를 들어, 객체는 여전히 큰 것처럼 보일 것입니다 - 각 프로그램에 대해 단일 보편적 인 해상도로 이것을 수행하고 싶다면 그 중 많은 수가 표시되지 않을 것입니다). 그런데 실패했을 때, 내가 미리 설정 한 몇 가지 해결 방법으로 모든 것을 똑같이하려고하면 모든 것이 괜찮은지 어떻게 확인합니까?

일반적으로 일반적인 문제에 대한 완전한 대답을 알기 전에 대답해야하는 관련 질문 인 것처럼 보입니다. 사용자가 응용 프로그램의 화면 크기를 조절하는 경우 전화 및 운영 체제에서 허용하는 최대 크기보다 작은 크기로 설정하십시오.

정말 간단하게하려고 노력하고 싶습니다. 예를 들어 내가 현대적인 데스크톱에서이 작업을 수행했다면 800x600 캔버스로 응용 프로그램을 디자인하면 사용자가 응용 프로그램을 축소 할 수 있다는 점을 알고 있습니다. 기본적으로 제대로 작동하고 모니터 나 다른 제품에 비해 너무 크지는 않습니다. 안드로이드에 대한 마법의 해결책이 있습니까? API 레벨 3+ (안드로이드 1.5+)를 설계하고 있다고 가정하십니까?

감사

+0

Android 기기는 현재 다음 해상도 : 240x320, 320x480, 480x800 및 480x854 만 지원합니다. –

답변

1

흠, 난 당신이이 글을 읽을 제안 : Supporting Multiple Screens. 이는 다양한 화면 크기를 처리하는 방법에 대한 풍부한 정보를 제공합니다. 특히 밀도 독립 픽셀 대 절대 ​​픽셀의 개념에 대해 읽어보십시오. 밀도 독립 픽셀은 본질적으로 작업중인 화면 크기에 따라 시스템이 자동으로 조정하는 픽셀 크기입니다. '표준'화면은 G1, Hero 또는 유사한 기기, 즉 160dpi의 밀도를 가진 480x320 픽셀의 화면으로 간주합니다. 작업중인 화면 (예 : Droid 또는 Nexus One)보다 크면 모든 밀도 독립 픽셀 크기가 50 % 조정됩니다.

애니메이션에 대해 Canvas처럼 실제로 캔버스에 대해 이야기하는 경우 canvas.getWidth() 및 canvas.getHeight()를 호출 할 수 있습니다.

+1

나는이 두 가지 방법을 사용하는 것에 대해 다소 걱정하고 있습니다. 이러한 것들을 사용한다면 기본적으로 캔버스에 비례하여 크기를 유지해야하므로 화면의 크기가 변경 될 때 스프라이트도 적용된다는 의미입니다. 또한 작업하기가 더 복잡합니다. 이는 내가 정말로 원하지 않는 것입니다. 하지만 그 기사를 좀 보도록하겠습니다. 감사. – Panzercrisis

+0

화면 픽셀 밀도에 대한 문제를 충분히 설명하지 않았기 때문에 DP에 대한 저의 의견은 분명하지 않았습니다. 기사에서도 설명되었지만 아직 읽을 기회가없는 경우 다른 장치의 화면 밀도가 픽셀 당 1 인치가 다릅니다. 따라서 동일한 물리적 크기 (예 : 화면에서 1/2 "1/2"이면 실제 사용되는 픽셀 수는 화면 dpi에 비례하여 변경되어야합니다. 즉, 이제 다른 질문을 쳐다 보면서 캔버스에 대한 정보를 추가 할 것입니다. –

관련 문제