Регулировка вида при повороте на 90 градусов - PullRequest
0 голосов
/ 13 ноября 2018

Я создал макет и программно хочу повернуть его на 90 градусов. И часть вращения работает нормально, но не может увеличить / изменить ширину и высоту этого макета в соответствии с экраном.

Вот мой xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/cardview_lay"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout

    android:id="@+id/cardview_lay_vertical"
    android:layout_width="match_parent"
    android:layout_height="210dp"
    android:layout_gravity="center_vertical"
    android:layout_margin="15dp"
    android:background="@drawable/virtualcard_bg"
    android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/card_details_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/world_map_image"
        android:padding="@dimen/activity_horizontal_margin">

        <RelativeLayout
            android:id="@+id/lay1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <TextView
                android:id="@+id/qrCode"
                android:layout_width="wrap_content"
                android:layout_height="48dp"
                android:layout_alignParentLeft="true"
                android:layout_toLeftOf="@+id/QrCode"
                android:gravity="center|left"
                android:text=""
                android:textColor="@color/black"
                android:textStyle="bold" />

            <ImageView
                android:id="@+id/QrCode"
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:layout_alignParentRight="true" />
        </RelativeLayout>


        <TextView
            android:id="@+id/txtCardName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/lay1"
            android:gravity="center|left"
            android:text=""
            android:textAllCaps="true"
            android:textColor="@color/black"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/txtPolicyNumber"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/txtCardName"
            android:layout_marginTop="@dimen/activity_ten_margin"
            android:gravity="center|left"
            android:text=""
            android:textColor="@color/black"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/medilink_global"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/txtPolicyNumber"
            android:layout_marginTop="@dimen/activity_ten_margin"
            android:gravity="center|left"
            android:text=""
            android:textAllCaps="true"
            android:textColor="@color/black"
            android:textStyle="bold" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/medilink_global"
            android:layout_marginTop="@dimen/activity_horizontal_margin">

            <TextView
                android:id="@+id/txt"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:gravity="center|left"
                android:paddingBottom="@dimen/activity_margin_four"
                android:text="Member Since   "
                android:textAllCaps="true"
                android:textColor="@color/black" />

            <TextView
                android:id="@+id/txtmemberSince"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_toRightOf="@+id/txt"
                android:gravity="center|left"
                android:paddingBottom="@dimen/activity_margin_four"
                android:text=""
                android:textColor="@color/black"
                android:textStyle="bold" />


            <ImageView
                android:id="@+id/medilinkImg"
                android:layout_width="82dp"
                android:layout_height="30dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:background="@drawable/image" />

        </RelativeLayout>
    </RelativeLayout>

</LinearLayout>

И код слушателя кнопки для поворота в MainActivity:

rotateIcon.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (rotateIsVisible) {
                    rotateIsVisible = false;
                    cardview_lay_vertical.animate().rotation(90).start();
                } else {
                    cardview_lay_vertical.animate().rotation(0).start();
                    rotateIsVisible = true;
                }
            }
        });

Но проблема, с которой я сталкиваюсь, заключается в том, что я хочу увеличить компоновку и весь текст в соответствии с шириной и высотой экрана при повороте.

Ожидаемый результат: enter image description here

1 Ответ

0 голосов
/ 13 ноября 2018

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

...