0

YouTube 앱처럼 방향 변경으로 레이아웃을 변경하려면 어떻게해야하나요? 프리 스타일 모드에서 아이템 레이아웃을 변경하는 RecyclerView 인 것 같습니다. 어떻게 할 수 있습니까 (조각 상태가 그대로 유지되므로 데이터, 최신 위치 등등 상태를 저장하지 않고 가로로로드 할 수 있다고 생각합니다.) 레이아웃 파일) 그렇게하는 것이 가장 좋은 방법은 무엇입니까?android youtube 앱과 같은 상태를 유지하면서 방향 변경에 대한 레이아웃을 변경하는 방법은 무엇입니까?

세로 : 는 enter image description here

풍경 : enter image description here

+1

https://inthecheesefactory.com/blog/fragment-state-saving-best-practices/en을 확인하십시오. 유지 된 인스턴스를 사용하여 뷰를 재생성하는 방법을 설명합니다. –

+0

감사합니다 @CedricFranck, 매우 익살 스럽지만 여전히 레이아웃을 YouTube 앱과 동일하게 변경하는 방법은 무엇입니까? –

+0

두 개의 XML을 만들어야합니다. 하나는 초상화 용이고 다른 하나는 풍경 용입니다. Portrait에서 Landscape로 오리엔테이션을 변경하면 보존 된 인스턴스 안에 모든 뷰 데이터를 저장 한 다음 가로보기로 활동을 만들 때 해당 데이터를 다시 가져 와서 뷰를 수분을 확보 할 수 있습니다. –

답변

2

당신은 당신의 매니페스트에 사용자의 작업에

android:configChanges="orientation|screenSize" 

을 추가 할 수 있습니다. 따라서 오리엔테이션을 변경해도 활동이 다시로드되지는 않습니다.

+1

사실이지만 레이아웃 파일은 변경되지 않습니다. 어떻게 작동했는지, 이미 저장된 인스턴스 상태로로드 한 모든 데이터를 저장하는 것입니다. (이 방법으로 네트워크 등을 호출 할 필요가 없습니다) 그런 다음 레이아웃 폴더 아래에 layout-land 동일한 레이아웃 리소스를 두지 만 다른 뷰 구조를 사용하므로 가로 레이아웃과 함께 자동으로로드됩니다. [ConstraintLayout] (https://developer.android.com/training/constraint-layout/index.html)을 사용하여 다른 방법으로 수행 할 수도 있습니다. 조사를 시도하고 결과에 도달하면 여기에 게시하겠습니다. –