вращение макета и после помещения в prlem - PullRequest
6 голосов
/ 11 октября 2011

Мне нужно повернуть макет (имеет TextView и ImageView), и он должен быть размещен по правому и верхнему краям в RelativeLayout. Я создаю свой макет, этот макет расположен справа вверху. Но если я поверну его, я не могу выровнять вправо. Что мне делать?

Мой относительный макет

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:background="@drawable/background"
        android:layout_height="wrap_content"
        android:id="@+id/testRL">

        <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:id="@+id/testRotateLL">

                <ImageView
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:background="@drawable/picture_border_offer_first_page" />
                <TextView
                        android:layout_height="wrap_content"
                        android:layout_width="wrap_content"
                        android:text="7000TL"
                        android:textSize="15sp"
                        android:layout_centerInParent="true"
                        android:textColor="@android:color/white"
                        android:id="@+id/amountLayoutTV" />
        </RelativeLayout>
</RelativeLayout>

И я поворачиваю этот linearLayout с анимацией. Это вращается хорошо, ..

<rotate
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromDegrees="0"
        android:toDegrees="45"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fillEnabled="true"
        android:detachWallpaper="true"
        android:duration="0"
        android:fillAfter="true">
</rotate>

После поворота новый видо .. enter image description here

Ответы [ 3 ]

1 голос
/ 30 января 2012

Этот код работает ...

используйте это

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:background="@drawable/normal_button"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:id="@+id/testRL">

        <RelativeLayout
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:background="@drawable/pressed_button"
                android:id="@+id/testRotateLL">

                <TextView
                    android:id="@+id/amountLayoutTV"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentTop="true"

                    android:text="7000TL"
                    android:textColor="@android:color/white"
                    android:textSize="15sp" />

        </RelativeLayout>
</RelativeLayout>
1 голос
/ 08 ноября 2011

Какую версию Android вы используете?

В более новых версиях можно просто поместить ландшафтные макеты в специальную папку. Просто создайте новую папку с именем " layout-land " в папке res / и поместите в нее свой макет для альбомной ориентации. Должно работать хорошо.

0 голосов
/ 03 декабря 2012

Когда я обновил ADT, эта проблема решилась сама собой.Я думаю, что на визуальном макете ADT была ошибка.

...