문제

Windows Mobile 6.5 용 컴팩트 한 프레임 워크 응용 프로그램을 작성하고 있습니다. 응용 프로그램은 WindowsPhone 마켓 플레이스에서 판매됩니다. 그렇게하려면 다양한 화면 크기와 해상도를 지원해야합니다 ...하지만 어떻게해야합니까? 모범 사례가 있습니까? 주로 표준 컨트롤을 사용하지만 MainForm의 배경 이미지를 사용합니다 ... 앱이 실행되는 장치에 따라 해상도에 저장하고 동적으로 표시해야합니까?

귀하의 제안과 도움에 감사드립니다

도마

도움이 되었습니까?

해결책

이것이 논란의 여지가있는 주제라고 말하기 시작하겠습니다.

내 개인적인 견해는 한 범위에서 다른 범위에서 다른 범위로 이동하는 크기 조정을 감지 할 때 교환 할 수있는 다른 UI 층을 제공해야한다는 것입니다 (동적으로 스위칭이 필요하지 않을 수도 있습니다. 로드 타임에 확인하는 경우). 이 접근법은 동일한 범위 내에서 앱이 적당히 크기를 조정할 수 있어야하기 때문에 식별하는 범위가 서로 매우 제한적이고 비슷한 경우에는 이해가되지 않습니다.

동일한 UI 층으로 가능한 모든 해상도를 해결하려고 시도하는 것은 좋은 아이디어처럼 들릴 수 있지만 재난의 레시피가 될 수 있습니다. 당신은 그것을 작동시킬 수 있지만, 당신은 픽셀 크기를보고, 컨트롤 크기를 조정하고, 물건을 움직이는 if-else 및 switch 문으로 문자열 공으로 끝날 것입니다.

생각하면 Google지도 (하나이지만 iPhone 앱에 대해 생각)는 모바일 및 데스크탑 브라우저 등에서 동일한 UI를 제공하지 않습니다. 그것이 우리가 이야기하는 크기의 차이라면 (모바일 대 데스크탑과 같은 해상도) 위의 제안에 따라 다른 UI 레이어를 롤링해야합니다.

성배는 소위 액체 레이아웃입니다.

나는 최근에 매우 비슷한 질문을했다 - 당신은 그것을 볼 수 있습니다 다른 의견을 읽고 싶다면 여기.

다른 팁

이것은 힘든 일입니다. 다음과 같은 낮은 노력 계획으로 합리적인 결과를 얻었습니다. (이것은 Winform 지향, BTW)

가장 큰 문제는 결의안입니다 더 작은 예상보다. 따라서 화면을 최대한 작게 만들고 앵커 및 도킹 설정에 특별한주의를 기울이십시오. 각 양식을 표시 할 때이를 전체 화면으로 설정하고 고정 속성은 사물을 제정신으로 표시하는 합리적인 작업을 수행해야합니다.

해상도가 예상보다 훨씬 크면 바보처럼 보이기 시작합니다.
참고 화면을 통해 현재 플랫폼의 화면 크기를 찾을 수 있습니다.

나는 최근에 시도하기 위해 작은 앱을 만들었습니다. 배경 이미지를 표시해야 했으므로 투명한 배경을 지원하지 않기 때문에 라벨 등과 같은 내장 컨트롤을 사용할 수 없었습니다.

GDI+를 사용하여 양식의 페인트 이벤트에서 전체 인터페이스를 그려 냈습니다.

다른 화면 해상도를 처리하는 것은 매우 간단한 것으로 판명되었습니다. 인터페이스는 일반 96dpi 화면 (가장 작은)에 대해 프로토 타입으로 프로토 타입으로 나오면 모든 크기는 96/real_dpi로 계산 된 계수를 사용하여 스케일링됩니다. 찾은 코드를 사용하여 화면의 실제 DPI 설정을 검색 할 수 있습니다. 여기 (조금 오래되었지만 여전히 작동합니다). 그런 다음 에뮬레이터가 제공 한 모든 결의안으로 응용 프로그램을 테스트 한 후 아무런 문제가 없었습니다.

경고 : 화면의 하단 부분을 "낭비"하여 사각형 스크린과 조경/초상화 방향을 다루기 위해 특별한 것이 필요하지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top