2010-09-23 31 views
15

Có cách nào để hiển thị Chế độ xem, chẳng hạn như TextView nằm ngang bằng cách sử dụng tệp bố cục XML không? Tôi biết bạn có thể xoay chế độ xem bằng cách sử dụng mã trong một hoạt động, nhưng có cách nào chỉ để làm điều đó với bố cục không?Chế độ xem Sideways với XML Android

Trả lời

22

Có, nhưng nó mới trong API 11 (Android 3.0):

<TextView 
    android:id="@+id/rotated" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:rotation="270" 
    android:textSize="32sp" 
    android:textColor="#44CC44" 
    android:text="@string/rotated" /> 

tôi đã cố gắng này trong 2.2, 2.3.1, và 2.3.3, và "android: xoay" wasn' t hợp pháp.

Nó hoạt động ở mức 3.0 trên trình mô phỏng, nhưng nó thật kỳ quặc. Tôi cũng đã thêm paddingTop = "90dp" vào nó (để lấy nó từ một thành phần khác trong ứng dụng thử nghiệm mà tôi đã thử), và nó không chỉ di chuyển xuống màn hình, mà còn với bên phải (cách xa đầu văn bản, vì nó được xoay 270 độ). Tôi không có một thiết bị Honeycomb thực tế để kiểm tra trên, nhưng có vẻ như xoay và padding/lề có thể không chơi tốt với nhau.

Ngoài ra còn có phương thức android.view.View#setRotation(double) đã được thêm vào API 11 để điều chỉnh thuộc tính này từ mã. Và ngoài xoay vòng, có rotationX, rotationY, pivotX, pivotY, scaleX, scaleY và translationX, translationY. Tôi chưa chơi với bất kỳ người nào trong số họ.

Có danh sách all the changes in API 11.

Nhưng tôi nghi ngờ bạn muốn thứ gì đó không chỉ giới hạn ở Honeycomb. Theo tôi biết, không có.

+0

Đây là một câu hỏi cũ, nhưng cảm ơn câu trả lời - Tôi rất vui khi biết nó xuất hiện trong tổ ong. – ramblinjan

+0

Tôi vẫn có thể sử dụng tính năng xoay trong API 19? –

3

David là đúng, các: luân chuyển S work làm việc nhưng một cái gì đó là sai lầm trong SDK tôi tin. Bố cục đồ họa sẽ làm cho văn bản di chuyển sang trái hoặc phải (và có thể tắt màn hình) để nó NHƯNG khi tôi chạy nó trên Xoom của tôi, nó hoạt động như mong đợi. Vì vậy, hãy thử cài đặt trên thiết bị API 11 để xem cài đặt đó có ảnh hưởng không.

Ngoài ra, Dường như nó hoạt động với chiều rộng/chiều cao. Cách duy nhất tôi có thể làm cho nó hoạt động là làm cho khung nhìn văn bản vuông. Nói cách khác, nếu bạn thường chỉ cần một chiều rộng 100dp bằng cách xem văn bản cao 25dp, hãy làm cho nó 100dp x 100dp rồi xoay và thử. Ngoài ra, trên/dưới trở thành trái/phải, vv khi bạn xoay 90 độ.

Tôi không thể biết được RotationX/Y làm gì. Nó dường như không làm gì cho tôi.

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