현재 위치 - 법률 상담 무료 플랫폼 - 온라인 법률 자문 - 안드로이드 만화 APP 의 수직 화면 전환 기술은 어떻게 이루어집니까?
안드로이드 만화 APP 의 수직 화면 전환 기술은 어떻게 이루어집니까?
, 수평 수직 화면 변환을 금지합니다.

안드로이드 수직 화면 전환은 휴대폰 개발에서 흔히 볼 수 있습니다. 많은 소프트웨어는 수직 패널 전환이 불필요한 번거로움을 피하기 위해 일반적으로 수직 패널 전환을 금지합니다.

이는 AndroidManifest.xml 의 활동에서 android:screenOrientation 속성 값을 설정하여 수행됩니다

예를 들어, 다음과 같은 설정이 있습니다

Android:screenOrientation= "세로"

휴대전화가 어떻게 바뀌든 이 속성을 가진 활동은 모두 수직 화면 표시다.

Android: screenorientation = "landscape", 수평 표시입니다.

위의 수정은 다음과 같은 코드를 통해 Java 코드에서 설정할 수도 있습니다.

Setrequesteorientation (활동 정보). 화면 _ 방향 _ 가로)

또한 Android 의 모든 화면 전환은 활동을 다시 시작하므로 활동이 파괴되기 전에 현재 활동의 상태를 저장하고, 활동이 다시 만들어질 때 구성을 로드하여 진행 중인 게임이 자동으로 다시 시작되지 않도록 해야 합니다!

둘째, 가로 및 세로 화면 전환

소프트웨어가 수평 화면과 수직 화면 사이를 전환하도록 하려면 수평 화면과 수직 화면의 높이와 폭이 변경되므로 다른 레이아웃이 필요할 수 있습니다. 다음 두 가지 방법으로 배치를 전환할 수 있습니다.

1) RES 디렉토리에 Layout-land 및 layout-port 디렉토리를 만들고 해당 레이아웃 파일 이름을 그대로 유지합니다. 예를 들어 main.xml. layout-land 는 가로 화면의 레이아웃이고 layout 입니다 수평 및 수직 화면이 전환되면 프로그램은 Activity 의 onCreate 메서드를 호출하여 해당 레이아웃을 로드합니다.

2) 레이아웃 리소스가 위와 같이 설정되지 않은 경우 Java 코드를 통해 현재 화면이 수평인지 수직인지 확인한 다음 해당 XML 레이아웃 파일을 로드할 수 있습니다. 화면이 가로가 되면 현재 활성화된 onCreate 메서드가 다시 호출되기 때문입니다. OnCreate 에 다음 메서드를 배치하여 현재 방향을 확인한 다음 setContentView 에서 다른 레이아웃 XML 을 로드하도록 할 수 있습니다.

If(this.getResources ()) 입니다. GetConfiguration () 을 사용합니다. 방향 = = 배치. 방향 _ 가로)

{

Log.i("info ","landscape "); //수평 화면

} else if(this.getResources (). GetConfiguration () 을 사용합니다. 방향 = = 배치. 방향 _ 세로)

{

Log.i("info ","portrait "); //수직 화면

}

셋째, onConfigurationChanged 를 통해 가로 세로 화면 전환을 차단합니다.

두 번째 작업에 따라 활동은 onPause-& gt;; 를 호출합니다 OnStop-& gt;; Onde story-& gt;; OnCreate-& gt;; OnStart-& gt;; OnResume, 이를 위해 내용과 데이터의 저장 및 읽기가 포함됩니다. 그렇지 않으면 화면 전환 전의 내용이 사라집니다. 이런 결과가 절차를 번거롭게 하는 경우가 많다. 이를 위해 Android 는 매니페스트에서 android:configChanges 속성을 설정하여 활동이 위의 재구축 프로세스를 계속하지 않도록 합니다. Android 프로젝트의 Mainfest.xml 에서 activity: Android: configchanges = "keyboard hidden | orientation" 을 구성합니다. 가로 세로 막대가 전환되면 OnCreat 함수가 실행되지 않지만 onConfigurationChanged () 가 호출되어 가로 세로 막대를 제어할 수 있습니다. 사용자는 활성 또는 보기의 OnConfigurationChanged 함수에서 현재 화면 매개 변수를 얻을 수 있습니다. 호출 순서는 touch time 의 전송 순서와 비슷하지만 소비 이벤트에 대한 개념이 없으며 각 onConfigurationChanged 함수를 차례로 호출합니다.

Activity 의 onConfigurationChanged 메서드를 다시 작성해야 합니다. 구현 방법은 다음과 같으며 내용이 많지 않습니다.

@ 덮어쓰기

Public void onconfigurationchanged (새 구성 구성 구성) {

Super.onconfigurationchanged (newconfig);

If (this.getResources ()) 입니다. GetConfiguration () 을 사용합니다. 방향 = = 배치. 방향 _ 가로) {

//토지는 아무것도 하지 않으면 된다

} else if (this.getResources (). GetConfiguration () 을 사용합니다. 방향 = = 배치. ORIENTATION_PORTRAIT) {

//포트는 아무것도 하지 않으면 된다

}

}

OnConfigurationChanged 함수에서는 가로 세로 전환된 매개 변수만 사용할 수 있고 새 레이아웃과 컨트롤의 크기 및 위치 정보는 이 함수에서 사용할 수 없다는 점에 유의해야 합니다. 크기 및 위치 정보를 처리하려면 메시지를 통해 비동기적으로 호출하거나 연기해야 합니다.

넷째, 뒤집기는 완전히 금지되어 있다

물론 대칭 이동을 완전히 금지하려면 android:screenOrientation 의 속성을 nosensor 로 설정하여 중력 감지로 인한 문제를 무시할 수 있습니다. 하지만 시뮬레이터에서는 안 됩니다. 실제 기계에서는 정확합니다.

여기에 작은 지식이 있다. 안드로이드 시뮬레이터에서 바로 가기 키 "ctrl+f11/f12" 는 화면 전환을 가능하게 합니다.

다섯째, 적응형 전환

가로화면이 시작되려면 가로화면이 표시되고, 세로가 표시되면 세로가 표시되며, 그리고 휴대폰은 가로와 세로가 전환될 때 사용할 수 없습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 가로명언) 이 문제를 어떻게 해결합니까?

첫째, Mainfest.xml 에 추가합니다.

Android: screen orientation = "sensor" Android: configchanges = "orientation | keyboard hidden"

이 두 가지 속성.