поворот макета и после размещения в RelativeLayout prblem

#android #view #android-relativelayout #android-animation

#Android #Вид #android-relativelayout #android-анимация

Вопрос:

Мне нужно повернуть макет (имеет 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>
  

После поворота появляется новое изображение..
введите описание изображения здесь

Ответ №1:

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

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

Ответ №2:

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

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

 <?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>
  

Ответ №3:

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