[android] Android 앱의 방향을 휴대폰의 세로 및 태블릿의 가로로 고정하는 방법은 무엇입니까?

사용자가 기기를 회전 할 때 방향을 가로 모드로 변경하고 싶지 않은 Android 앱을 개발 중입니다. 또한 잠금 방향을 휴대폰에서는 세로 모드로, 태블릿에서는 가로 모드로 설정하고 싶습니다. 가능하다면 어떻게해야합니까? 감사.



답변

파일 의 활동 요소 내에 아래 속성을 정의하기 만하면 AndroidManifest.xml됩니다. 방향을 세로로 제한합니다.

android : screenOrientation = “세로”

예:

        <activity
            android:name="com.example.demo_spinner.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

추가로, 아래 Eduard Luca의 설명 screenOrientation="sensorPortrait"에 따라 180도 회전을 활성화하려는 경우 에도 사용할 수 있습니다 .


답변

당신은 android:screenOrientation="portrait"당신의 AndroidManifest.xml. 이것은 <activity>태그 에서 수행됩니다 .

또한 Android 개발자 가이드에는 다음과 같이 명시되어 있습니다.

[…] 또한 애플리케이션에 요소와 함께 세로 또는 가로 방향이 필요함을 명시 적으로 선언해야합니다. 예 : <uses-feature android:name="android.hardware.screen.portrait" />.


답변

문제를 완전히 해결하지 못하는 답변을 수락했음을 알 수 있습니다.

android:screenOrientation="portrait"

이렇게하면 앱이 휴대폰과 태블릿 모두에서 세로로 표시됩니다.

다음을 사용하여 앱을 장치의 “선호”방향으로 강제 설정할 수 있습니다.

android:screenOrientation="nosensor"

이로 인해 대부분의 휴대 전화에서는 앱이 세로로, 태블릿에서는 가로로 앱이 강제 실행됩니다. 가로 모드 용으로 설계된 키패드가있는 전화기가 많이 있습니다. 앱을 세로로 강제하면 이러한 장치에서 거의 사용할 수 없게 될 수 있습니다. Android는 최근 다른 유형의 기기로도 이전하고 있습니다. 장치가 원하는 방향을 선택하도록하는 것이 가장 좋습니다.


답변

프로그래밍 방식으로 태블릿인지 전화인지 확인해야 할 수도 있습니다. 먼저 확인 장치가 전화인지 태블릿인지 확인해야합니다.

장치가 스마트 폰인지 태블릿인지 확인합니까?

태블릿 또는 휴대 전화-Android

그때……

if(isTablet)
{
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else
{
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}


답변

<activity android:name=".yourActivity"
          android:screenOrientation="portrait" ... />

주요 활동에 추가하고

android:configChanges="keyboardHidden"

키보드가 호출 될 때 프로그램이 모드를 변경하지 못하도록합니다.


답변

활동 태그 아래의 Manifest 파일에서 화면 방향을 세로로 설정하십시오.


답변

android:screenOrientation="locked"

실제 활동 을 <application>위해 모든 앱에서 <activity>