티스토리 뷰
기
이 자료들은 팁스소프트에서 제공하는 [ 알짜배기 ] 프로그램을 이용하면 더 편리하게 볼수 있습니다.
* 알짜배기 프로그램 받기 - http://www.tipssoft.com/bulletin/tb.php/QnA/8406
* 관리자의 Tipssoft 이야기를 들어보세요 ( 트위터 ID : tipssoft )
* 안드로이드 강좌 목록 - http://www.tipssoft.com/bulletin/tb.php/old_bbs/501
기본적으로 안드로이드 어플리케이션은 기기의 방향(가로/세로)이 전환되면 액티비티를 파괴했다가
다시 생성하면서 액티비티의 화면을 다시 구성합니다. 그래서 소켓이나 데이터베이스같은 연결을
유지해야 하는 작업을 할 때 화면 방향이 전환되면서 연결을 끊었다가 다시 연결하거나 회전하기 전의
상태를 저장했다가 회전한 후에 다시 저장한 상태로 설정하는 등 추가적인 작업을 해주어야 합니다.
이 외에도 어플리케이션 특성에 따라서 가로나 세로 방향으로 고정하여 개발하는 경우도 있습니다.
이번 강좌에서는 어떻게 어플리케이션의 화면을 고정하여 사용하는지에 대해서 알아보도록 하겠습니다.
1. 기능 구현하기
어플리케이션의 회전을 방지하려면 각 액티비티의 속성에 고정하려는 방향을 명시해주어야 합니다.
해당 속성은 AndroidManifest.xml 파일에서 설정하거나 자바 클래스에서 메소드를 호출하여 설정할
수 있습니다.
1.1 AndroidMenifest.xml 파일에서 설정하기
화면을 고정하려면 <Activity> 요소의 screenOrientation 속성에 방향을 설정하는것이기 때문에
어플리케이션 내에 여러개의 액티비티를 사용하는 경우 모든 액티비티를 <application ... > 요소
내에 추가하여 screenOrientation 속성을 설정해주어야 합니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="tipssoft.farm.NoRotate"
android:versionCode="1"
android:versionName="1.0">
<application android:label="@string/app_name" android:icon="@drawable/icon">
package="tipssoft.farm.NoRotate"
android:versionCode="1"
android:versionName="1.0">
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:name="ReverseRotateActivity"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="SecondActivity" android:screenOrientation="reverseLandscape"/>
<activity android:name="ThirdActivity"/>
<activity android:name="ThirdActivity"/>
</application>
</manifest>
screenOrientation 속성에 설정할 수 있는 화면 고정에 관한 값은 4가지이며 각 값에 따라 아래의
그림처럼 적용됩니다.
reversePortrait 와 reverseLandscape 는 안드로이드 플랫폼 버전에 따라 지원하지 않을 수도
있습니다.
1.2 액티비티 java 파일에서 설정하기
AndroidManifest.xml 파일에서 Activity 요소의 속성을 설정하지 않고, 액티비티의 java 파일에서
setRequestedOrientation 메소드를 이용하여 화면을 고정하는 방법입니다. 화면을 고정하고자하는
모든 액티비티의 java 파일에서 이 메소드를 호출해주어야 합니다.
import android.content.pm.ActivityInfo;
public class ThirdActivity extends Activity implements OnClickListener
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.third);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
public class ThirdActivity extends Activity implements OnClickListener
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.third);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
setRequestedOrientation 메소드로 설정할 수 있는 화면 고정에 관한 값은 4가지이며 각 값에 따라
아래의 그림처럼 적용됩니다.
SCREEN_ORIENTATION_REVERSE_PORTRAIT 와 N_ORIENTATION_REVERSE_LANDSCAPE 는
안드로이드 플랫폼 버전에 따라 지원하지 않을 수도 있습니다.
2. 실행 화면
'프로그램 > 안드로이드 강좌' 카테고리의 다른 글
센서 - 조도 측정하기 (0) | 2012.08.15 |
---|---|
센서를 사용하기 위한 공통 루틴 (0) | 2012.08.15 |
회전 방향별로 다른 레이아웃 적용하기 (0) | 2012.08.15 |
진동 울리기 ( 지정시간 진동과 패턴 진동) (0) | 2012.08.15 |
토스트 사용하기 (0) | 2012.08.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 티스토리 초대장
- 대구 카페 추천
- 트리거
- 간절곶 맛집
- 삼척 추천여행지
- 울산 카페 추천
- trigger
- 울산 추천 카페
- 안드로이드 강좌
- 장현 카페
- 센서
- 파워빌더
- 안드로이드
- 울산 예쁜 카페
- 티스토리 초대
- 리스트뷰
- PowerBuilder
- 티스토리초대장
- MSsql
- 초대장
- 장현동 카페
- 태그를 입력해 주세요.
- 울산 북구 맛집
- 운정신도시
- 우리동네 카페
- 삼척 추천 여행지
- 맛집
- 울산 카페
- 울산 중구 카페
- 울산 맛집
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함