티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Force "portrait" orientation mode
세로 모드 강제 적용
문제 내용
I'm trying to force the "portrait" mode for my application because my application is absolutely not designed for the "landscape" mode.
제 애플리케이션은 "가로" 모드를 전혀 고려하지 않고 만들어져 있기 때문에, 애플리케이션을 "세로" 모드로 강제하려고 합니다.
After reading some forums, I added these lines in my manifest file:
포럼을 몇 개 읽은 후에, AndroidManifest.xml 파일에 다음 라인을 추가했습니다.
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:screenOrientation="portrait">
But it doesn't work on my device (HTC Desire). It switches from "portrait" lo "landscape", ignoring the lines from the manifest file.
하지만 이 방법은 제 기기(HTC Desire)에서 작동하지 않습니다. "세로"에서 "가로"로 전환되며, AndroidManifest.xml 파일의 라인을 무시합니다.
After more forums reading, I tried to add this in my manifest file:
더 많은 포럼을 읽은 후에, 이 라인을 AndroidManifest.xml 파일에 추가해 보았습니다.
<application
android:debuggable="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:configChanges="orientation"
android:screenOrientation="portrait">
and this function in my activity class:
그리고 이 함수를 액티비티 클래스에 추가해 보았습니다.
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
But again, no luck.
하지만 여전히 작동하지 않습니다.
높은 점수를 받은 Solution
Don't apply the orientation to the application element, instead you should apply the attribute to the activity element, and you must also set configChanges
as noted below.
애플리케이션 엘리먼트에 화면 회전을 적용하지 마세요. 대신 activity 엘리먼트에 속성을 적용해야 하며, 아래와 같이 configChanges를 설정해야 합니다.
Example:
예:
<activity
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
</activity>
This is applied in the manifest file AndroidManifest.xml
.
AndroidManifest.xml 파일에서 설정하면 됩니다.
가장 최근 달린 Solution
Set force Portrait or Landscape mode, Add lines respectively.
강제로 "세로" 또는 "가로" 모드를 설정하려면, 각각 다음 라인을 추가하세요.
Import below line:
아래 라인을 임포트하세요.
import android.content.pm.ActivityInfo;
Add Below line just above setContentView(R.layout.activity_main);
아래 라인을 setContentView(R.layout.activity_main); 위에 추가하세요.
For Portrait:
가로의 경우:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//Set Portrait
For Landscap:
세로의 경우:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//Set Landscape
This will definitely work.
이 방법은 확실히 작동할 것입니다.
출처 : https://stackoverflow.com/questions/4885620/force-portrait-orientation-mode
'개발 > 안드로이드' 카테고리의 다른 글
EditText를 둥근 모서리로 만들기 (0) | 2023.02.05 |
---|---|
Glide를 사용하여 이미지를 비트맵으로 다운로드하기 (0) | 2023.02.05 |
안드로이드 "elevation" 그림자 표시 문제 수정하기 (0) | 2023.02.03 |
AppCompat에서 전체 화면 적용하기 (0) | 2023.02.02 |
AsyncTask deprecated 이후 대안 솔루션 (0) | 2023.02.02 |