2012-03-09 2 views
2

응용 프로그램이있어서 문제가 발생하면 태블릿과 휴대 전화를 지원해야합니다. 그러나 태블릿에서는 모든 것을 표시 할만큼 충분히 커서 portret 대신 가로로 사용할 수 있습니다. 그러나 화면이 너무 작기 때문에 전화에서이 모든 것을 망 쳐야합니다.HDPI에서는 가로보기를 사용하지 않지만 기본 가로보기에서는 사용하지 않습니다.

태블릿이 아닌 휴대 전화의 가로보기를 사용 중지하고 싶습니다.

manifest.xml 파일에서 portrait를 정의 할 수 있지만 레이아웃 xml에 따라 비활성화 할 수 있습니까? 예를 들어

:

-Phones 다른이 풍경에 갈 수 장치가 배치-hdpi에 다음 세로 만 사용하도록 설정해야합니다 사용하는 경우

레이아웃에 레이아웃-hdpi에 -tablets 기본값을 사용합니다.

+0

실제로 그렇게하지 않을 것입니다. 내 첫 번째 앱 중 하나를 사용해 보았는데 ... 잘 .. 사용자는 그 점을 좋아하지 않았습니다. 나는 "회전하지 않는다", "풍경이 필요하다"등과 같은 나쁜 코멘트를 많이 가지고있다. (풍경을 유지하는 데 완벽하게 의미가있는 물리적 인 키보드가있는 전화기에 대해서도 생각한다.) – YuviDroid

+0

다른 버튼을 사용하여 적은 버튼으로 처리 했으므로 모든 화면을 관리하는 것이 쉽지 않습니다./ –

답변

1

나는 다음으로 이런 짓을 : 매니페스트

  • 을 screenOrientation 유형으로 "@ 정수/screenOrientation"전화를위한
  • (당신이 Portait입니다 원하는 경우) 설정 screenOrientation 값 "1"로
  • 에 대한 타블렛 (풍경을 원한다면) screenOrientation 값을 "0"으로 설정하십시오.

이 링크).

이 솔루션이 도움이되기를 바랍니다.

+0

그래서 매니페스트는 휴대 전화 나 태블릿을 사용하고 있음을 어떻게 알 수 있습니까? 필자는 태블릿 용 앱을 제작 한 다음 휴대폰 용으로 빌드 할 수 없습니다./ –

+1

리소스 파일에서 알 수 있습니다. 값 - xlarge (태블릿에 사용되는 폴더) 및 값 (다른 모든 장치의 경우 폴더) 폴더에 파일 values.xml을 추가하십시오. 그런 다음 0 또는 1을이 파일에 추가하십시오. – pjanecze

+0

이것은 훌륭한 대답입니다! 감사 –

0

@pjanecze에 의해 주어진 대답하는 대신 코드에서이 작업을 수행하는 것입니다

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

나는 나의 기본 활동이 전화에서 onCreate 방법. 웬일인지 매니페스트 방법이 나를 위해 작동하지 않고 있었다.

일부 사용자는이 먼저 첫번째 뭔가 다른 요청 방향을 설정하여 고정 할 수 있지만 무시 위의 코드와 함께 문제를보고 :

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
관련 문제