2013-10-13 3 views
0

모바일보기에서 세로 화면 방향을 사용하고 태블릿보기에서 두 방향 모두 사용하려는 경우 매니페스트에서 방향을 정의하지 않았지만 장치가 태블릿이 아닌지 확인합니다. 이 라인별로 코드 :안드로이드 앱의 기본 화면 방향을 설정하는 방법

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

이 코드가 완벽하게 정제에서 작동하지만 태블릿 풍경에 응용 프로그램을 실행하려고 할 때 문제가 발생, 첫 번째 응용 프로그램은 풍경에서 실행하고 코드에 의해 세로로 변경합니다. 그래서 onCreate 함수가 두 번 실행됩니다. 나는 이것을 두 번하고 싶지 않다!

예를 들어 values-sw600dp에 변수를 정의하고이를 사용하여 매니페스트에서 방향을 변경할 수 있습니까? 매니 페스트 오리엔테이션 우선 순위를 변경 하시겠습니까?!

+0

그래서 모바일이나 태블릿인지 확인하고 싶습니까? –

+0

예 이동 방향이 오리 엔테이션이고 가로 방향이 모두 tblet 인 경우! –

답변

0

I가 사용하고 있음을 주위 저작물 정제하는 메인 레이아웃을 제공하는 것이다 (그리고! 코드의 방향 설정), 나는 "dummy_for_tablet"보이지 않는 관점을 추가 주요 활동에서

@Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     .... 
     if(findViewById(R.id.dummy_for_tablet) != null) 
     { //it's a tablet } 
     else 
     { //it's a mobile } 
      ... 
    }