2012-03-09 41 views
6

Tôi có hai hoạt động mở ra tùy thuộc vào sự hiện diện của thẻ SD. Một hoạt động có ba số: ButtonsTextView và số còn lại là ImageView, nút và điều khiển thu phóng. Khi tôi thay đổi hướng, các nút được xoay quanh theo hướng ngang. Làm thế nào để đi xung quanh này?Thay đổi bố cục Xml khi thay đổi hướng

'SD' bố trí Thẻ của tôi

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#1E1E1E" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/button_print" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="44dp" 
     android:background="@drawable/my_button" 
     android:text="@string/print" /> 

    <TextView 
     android:id="@+id/text_SDmissing" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="80dp" 
     android:text="@string/SDmissing" 
     android:textSize="20dp" /> 

    <Button 
     android:id="@+id/button_camera" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/button_print" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="58dp" 
     android:background="@drawable/my_button" 
     android:text="@string/camera" /> 

    <Button 
     android:id="@+id/button_insert" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/text_SDmissing" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="40dp" 
     android:background="@drawable/my_button" 
     android:text="@string/insert" /> 

</RelativeLayout> 
+0

Hãy chỉ cho chúng ta bố trí tập tin xml của bạn (s). –

+1

hãy đăng tệp xml của bạn. Nếu bạn cần thay đổi cách bố trí dựa trên hướng bạn phải đặt bố cục hai cho bố cục-cổng và bố cục đất. – deepa

+1

Bạn đã thử cung cấp bố cục khác nhau cho chân dung/phong cảnh chưa? – Luksprog

Trả lời

8

Bạn có thể tạo một thư mục trong dự án của bạn được gọi là "bố trí đất" (trong "res" thư mục). Trong đó, bạn có thể sao chép tất cả các kiểu xml của mình từ thư mục "bố cục" bình thường và đặt lại chúng cho chế độ nằm ngang. Android sẽ tự động sử dụng các bố cục đó cho chế độ ngang.

dự án của bạn sẽ trông như thế này:

enter image description here

13

Bạn phải tạo file XML riêng cho chế độ dọc và ngang và đặt nó vào thư mục khác nhau. Thiết bị sẽ tự động chọn đúng thiết bị. Bạn có thể sử dụng cấu trúc thư mục sau

res/layout/my_layout.xml 
res/layout-land/layout.xml 

Để tham khảo thêm bạn có thể kiểm tra: http://developer.android.com/guide/practices/screens_support.html

+0

phạt :) một câu hỏi khác của tôi là cách sử dụng bố cục để hỗ trợ kích thước màn hình khác nhau ..... những gì tôi đang làm là mỗi lần tôi sắp xếp lại và chạy ứng dụng và kiểm tra trong thiết bị của tôi nhưng không giống nhau nếu tôi chạy cùng một ứng dụng khác nhau ..... – jxgn

+0

Cả hai tên tập tin phải giống nhau. –

Các vấn đề liên quan