답변:
기본적으로 레이아웃은 /res/layout
세로 및 가로 모두에 적용됩니다.
예를 들어
/res/layout/main.xml
새 폴더를 추가하고 폴더 /res/layout-land
에 복사 한 main.xml
후 필요한 조정을 수행 할 수 있습니다 .
추가 옵션에 대해서는 http://www.androidpeople.com/android-portrait-amp-landscape-differeent-layouts 및 http://www.devx.com/wireless/Article/40792/1954 를 참조하십시오 .
portrait
현재 버전의 Android Studio (v1.0.2)에서는 아래 스크린 샷에 표시된 시각적 편집기에서 버튼을 클릭하여 가로 레이아웃을 추가 할 수 있습니다. "가로 변형 만들기"를 선택하십시오.
layout-land
폴더에 새 사본을 넣는 것을 제외하고 . 거기에서 레이아웃을 호출하는 방법에 대한 아이디어가 있습니까? 사용할 수 없습니다 R.layout.layout_name
. 구성 변경시 수동으로 자체 레이아웃을 구성하려고합니다. 감사합니다.
/ res / layout의 레이아웃은 달리 지정하지 않는 한 세로 및 가로 모두에 적용됩니다. 홈페이지에 /res/layout/home.xml이 있고 두 가지 레이아웃 유형에서 다르게 보이기를 원한다고 가정 해 봅시다.
다음과 같이 올바른 레이아웃으로 특정 레이아웃을 그룹화 할 수 있습니다.
layout-land-target_version
즉
layout-land-19 // 킷캣 대상
마찬가지로 레이아웃을 만들 수 있습니다.
희망이 당신을 도울 것입니다
-19
접미사 의 이점을 설명해 주 시겠습니까? 어떤 식 으로든 도움이 되나요?
나는 그것을 곧 설명하려고 노력할 것이다.
먼저 Google에서 요청한대로 ConstraintLayout 을 사용해야한다는 것을 알 수 있습니다 (Androix 라이브러리 참조).
android studio projet에서 res / layout / 디렉토리를 추가하여 화면 별 레이아웃을 제공 할 수 있습니다. 다른 레이아웃이 필요한 각 화면 구성마다 하나씩입니다.
즉 , 두 경우 모두 디렉토리 한정자 를 사용해야합니다 .
결과적으로, 여기 예가 있습니다 :
res/layout/main_activity.xml # For handsets
res/layout-land/main_activity.xml # For handsets in landscape
res/layout-sw600dp/main_activity.xml # For 7” tablets
res/layout-sw600dp-land/main_activity.xml # For 7” tablets in landscape
dimens.xml을 사용하여 ressources 파일과 함께 규정자를 사용할 수도 있습니다.
res/values/dimens.xml # For handsets
res/values-land/dimens.xml # For handsets in landscape
res/values-sw600dp/dimens.xml # For 7” tablets
해상도 / 값 /dimens.xml
<resources>
<dimen name="grid_view_item_height">70dp</dimen>
</resources>
해상도 / 값-랜드 /dimens.xml
<resources>
<dimen name="grid_view_item_height">150dp</dimen>
</resources>
your_item_grid_or_list_layout.xml
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content
<ImageView
android:id="@+id/image"
android:layout_width="0dp"
android:layout_height="@dimen/grid_view_item_height"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:background="@drawable/border"
android:src="@drawable/ic_menu_slideshow">
</androidx.constraintlayout.widget.ConstraintLayout>
출처 : https://developer.android.com/training/multiscreen/screensizes