2013-07-18 2 views
1

다른 화면 크기에 대해 여러 개의 매니페스트 파일을 가질 수 있습니다.안드로이드 매니페스트 화면 크기에 따라

내가 전화와 태블릿에 최적화 된 앱을 가지고 있기 때문에 묻습니다.

하지만 "태블릿 버전"에는 세로 및 가로보기가 사용 설정되어 있어야하지만 "휴대 전화 버전"은 세로로 고정하고 싶습니다.

나에게 가장 쉬운 방법은 안드로이드가 오리엔테이션 변경을 처리하도록하고 매니페스트 파일에 android : screenOrientation = "portrait"만 설정하는 것입니다.

매니페스트은 "레이아웃 sw600dp"그런 짓을하거나 매니페스트 안드로이드에 값을 연결하는 방법이있다 : screenOrientation =

여기서 "/ portrait_landscape_enabled @ 문자열"될 것 "@ 문자열/portrait_landscape_enabled" 값 - sw600dp 등에서 설정하십시오.

어떤 제안이 있습니까?

답변

0

당신이 그냥 단서

if(device is phone) 
{ 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 

에서 실행 장치 응용 프로그램에 따라 코드에서 화면 방향을 설정해야합니다.

+0

가능성이있는 것 같습니다. 모든 활동에서 확인해야하기 때문에 가장 우아하지 않습니다. onCreate()에서 그렇게하면 무엇이 될까요? 첫 번째 활동은 짧은 페리오데 (periode)에서 볼 수 있으며 재 작성된 (올바른 방향으로) 하나로 대체됩니까? – sockeqwe

0

이 일은 할 수 없습니다. 여러 개의 매니 페스트 파일을 만드는 것이 안드로이드에서 가능하다고 생각하지 않습니다.

0

프로그래밍 방식으로 설정할 수 있습니다. 코드 스 니펫 참조 만 작성하고 직접 시도해 보겠습니다. 매니페스트 파일을 추가 할 수 없습니다.

Button buttonSetPortrait = (Button)findViewById(R.id.setPortrait); 
    Button buttonSetLandscape = (Button)findViewById(R.id.setLandscape); 

    buttonSetPortrait.setOnClickListener(new Button.OnClickListener(){ 

    @Override 
public void onClick(View arg0) { 
// TODO Auto-generated method stub 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
}}); 

    buttonSetLandscape.setOnClickListener(new Button.OnClickListener(){ 

    @Override 
public void onClick(View arg0) { 
// TODO Auto-generated method stub 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
}}); 
} 
관련 문제