https://vnfmstjfxkd.tistory.com/506

 

가로 본능 설명

안드로이드 앱이에요 zip를 풀어서 분석 해주세요. 현재 완벽하게 잘 작동 합니다 한대 새로운 스톱워치를 스톱워치 메뉴에 새로 추가 하려고 합니다. 기존 kt들은 거의 건들지 않고 새로운 kt와

vnfmstjfxkd.tistory.com

 

 

네, 정확히 정리해서 답변드리겠습니다.

1) layout/activity_stopwatch_second.xml 과 layout-land/activity_stopwatch_second.xml는 “같은 파일”인가요?

  • 파일명은 같지만, “서로 다른 리소스(다른 폴더)”라서 Android가 화면 방향에 따라 자동으로 선택하는 ‘별도 파일’입니다.
    • 세로(포트레이트)일 때: res/layout/activity_stopwatch_second.xml
    • 가로(랜드스케이프)일 때: res/layout-land/activity_stopwatch_second.xml

즉, 둘은 같아도 되고 달라도 됩니다. (Android가 상황에 맞게 골라 씁니다)


2) “그냥 복사해서 똑같이 붙여 넣으면 되나요?”

권장 답: “아니요.”
이번 구조에서는 세로(layout)가로(layout-land) 가 의도적으로 다르게 되어야 합니다.

  • res/layout/activity_stopwatch_second.xml (세로)
    • QuarterTurnLayout(회전 컨테이너) 를 써야 합니다.
  • res/layout-land/activity_stopwatch_second.xml (가로)
    • QuarterTurnLayout 없이 ConstraintLayout만 써야 합니다.

만약 두 파일을 똑같이 복사해버리면(특히 landscape에도 QuarterTurnLayout이 들어가면)
가로 화면에서 다시 회전이 걸려서 레이아웃이 이상해지거나 안 보일 가능성이 커집니다.


3) layout-land 폴더는 어떻게 만들면 되나요?

네. Android Studio에서 Directory로 만드는 게 맞습니다.

만드는 위치:

  • app/src/main/res/ 아래에

이름:

  • 정확히 layout-land

즉 최종 구조:

  • app/src/main/res/layout/
  • app/src/main/res/layout-land/

Android Studio에서:

  • res 우클릭 → New → Android Resource Directory
    • Resource type: layout
    • Available qualifiers: Orientation 선택 → Landscape 선택
    • 그러면 자동으로 layout-land가 만들어집니다.

(지금 화면처럼 “Directory로 만들기”로도 되긴 하는데, 실수로 경로/타입이 꼬일 수 있어서 Android Resource Directory 방식이 가장 안전합니다.)


4) 지금 동우님 상황에서 해야 할 결론 작업

  • layout/activity_stopwatch_second.xml : 세로용(QuarterTurnLayout 포함)
  • layout-land/activity_stopwatch_second.xml : 가로용(QuarterTurnLayout 없음)

이렇게 둘 다 존재해야 회전/터치/표시가 안정적으로 맞습니다.

원하시면, 지금 프로젝트 구조 스샷 기준으로 “어떤 파일에 어떤 내용이 들어가야 하는지”를 zip로만 다시 정리해서 드릴 수도 있습니다.

반응형

+ Recent posts