Làm thế nào tôi có thể có một bố cục cho phong cảnh và một cho chân dung? Tôi muốn giả sử chiều rộng thêm và bảo tồn không gian dọc khi người dùng xoay điện thoại sang một bên.
Làm thế nào tôi có thể có một bố cục cho phong cảnh và một cho chân dung? Tôi muốn giả sử chiều rộng thêm và bảo tồn không gian dọc khi người dùng xoay điện thoại sang một bên.
Câu trả lời:
Theo mặc định, bố cục trong /res/layout
được áp dụng cho cả dọc và ngang.
Nếu bạn có ví dụ
/res/layout/main.xml
bạn có thể thêm một thư mục mới /res/layout-land
, sao chép main.xml
vào đó và thực hiện các điều chỉnh cần thiết.
Xem thêm http://www.androidpeople.com/android-portrait-amp-landscape-differeent-layouts và http://www.devx.com/w châu / Article / 40792/1954 để biết thêm một số tùy chọn.
portrait
Trong phiên bản hiện tại của Android Studio (v1.0.2), bạn chỉ cần thêm bố cục ngang bằng cách nhấp vào nút trong trình chỉnh sửa hình ảnh được hiển thị trong ảnh chụp màn hình bên dưới. Chọn "Tạo biến đổi cảnh quan"
layout-land
thư mục của bạn . Bất kỳ ý tưởng làm thế nào để gọi một bố trí từ đó? Không thể sử dụng R.layout.layout_name
. Tôi đang cố gắng tự cấu hình bố cục của mình theo cách thay đổi cấu hình, cảm ơn.
Các bố cục trong / res / layout được áp dụng cho cả dọc và ngang, trừ khi bạn chỉ định khác. Giả sử chúng tôi có /res/layout/home.xml cho trang chủ của chúng tôi và chúng tôi muốn nó trông khác nhau trong 2 loại bố cục.
Cách nhanh nhất cho Android Studio 3.xx và Android Studio 4.xx
1. Đi đến tab thiết kế của bố trí hoạt động
2. Ở đầu bạn nên nhấn vào nút định hướng để xem trước , có một tùy chọn để tạo bố cục ngang (kiểm tra hình ảnh), một thư mục mới sẽ được tạo dưới dạng tệp bố cục xml của bạn cho hướng cụ thể đó
Bạn có thể nhóm bố cục cụ thể của bạn theo cấu trúc thư mục chính xác như sau.
bố trí-đất-đích_version
I E
layout-land-19 // mục tiêu KitKat
tương tự như vậy, bạn có thể tạo bố cục của bạn.
Hy vọng điều này sẽ giúp bạn
-19
hậu tố? Điều đó có hữu ích trong bất kỳ cách nào?
Tôi sẽ cố gắng giải thích nó trong thời gian ngắn.
Đầu tiên, bạn có thể nhận thấy rằng bây giờ bạn nên sử dụng ConstraintLayout theo yêu cầu của google (xem thư viện androix).
Trong projet studio android của bạn, bạn có thể cung cấp bố cục dành riêng cho màn hình bằng cách tạo thêm thư mục / bố cục / thư mục. Một cho mỗi cấu hình màn hình đòi hỏi một bố cục khác nhau.
Điều này có nghĩa là bạn phải sử dụng vòng loại thư mục trong cả hai trường hợp:
Kết quả là, đây là một ví dụ:
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
Bạn cũng có thể sử dụng vòng loại với các tệp res ressource bằng dimens.xml.
res/values/dimens.xml # For handsets
res/values-land/dimens.xml # For handsets in landscape
res/values-sw600dp/dimens.xml # For 7” tablets
res / value / dimens.xml
<resources>
<dimen name="grid_view_item_height">70dp</dimen>
</resources>
res / value-land / 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>
Nguồn: https://developer.android.com/training/multiscreen/sc Greensizes