Боковой вид с помощью XML Android - PullRequest
15 голосов
/ 23 сентября 2010

Есть ли способ отобразить представление, такое как TextView, используя файл макета XML?Я знаю, что вы можете вращать представление, используя код в деятельности, но есть ли способ сделать это с помощью макета?

Ответы [ 2 ]

22 голосов
/ 10 марта 2011

Есть, но это новое в 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" />

Я пробовал это в 2.2, 2.3.1 и 2.3.3, и " android: вращение " не было законным.

На эмуляторе работало в 3.0, но это было странно. Я также добавил paddingTop = "90dp" (чтобы убрать его от другого компонента в тестовом приложении, в котором я его пробовал), и он не только переместился на вниз экрана, но и на вправо (от верхней части текста, поскольку он повернут на 270 градусов). У меня нет настоящего сотового устройства для тестирования, но похоже, что вращение и отступы / поля могут не очень хорошо сочетаться.

Существует также метод android.view.View#setRotation(double), который был добавлен в API 11, который настраивает это свойство из кода. И в дополнение к вращению, есть вращение X, вращение Y, PivotX, PivotY, scaleX, scaleY и translationX, translationY. Я еще ни с кем из них не играл.

Существует список всех изменений в API 11 .

Но я подозреваю, что вы хотели что-то, что не ограничивается только сотами. Насколько я знаю, нет.

3 голосов
/ 09 мая 2011

Дэвид прав: ротация БУДЕТ работать, но в SDK что-то запутано, я верю. Графическое расположение заставит текст переместиться далеко влево или вправо (и, возможно, за пределы экрана), поэтому, НО, когда я запускаю его на моем Xoom, он работает как положено. Поэтому попробуйте настройки на устройстве API 11, чтобы увидеть его влияние.

Кроме того, похоже, что он что-то делает с шириной / высотой. Единственный способ заставить его работать, это сделать текстовое представление квадратным. Другими словами, если вам обычно требуется только текстовое представление шириной 100dp и 25dp, сделайте его 100dp x 100dp, затем поверните его и попробуйте. Кроме того, верх / низ становится левым / правым и т. Д. При повороте на 90 градусов.

Я не могу понять, что делает RotationX / Y. Кажется, это ничего не делает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...