Флажки неправильно позиционируются на устройстве Android 5.02 - PullRequest
0 голосов
/ 11 июля 2019

У меня есть фрагмент с 12 флажками, 6 на левой стороне и 6 на правой стороне.В Moto E5 с Android 8.1 выглядит нормально (отладка), как в моей Android Studio в окне предварительного просмотра.

Теперь я только что установил на другой телефон LG G2 с Android 5.0.2 и флажки справасторона появится на левой стороне.Эти флажки имеют RTL, а левый - нет.

Ожидается

enter image description here

Неверно

enter image description here

В чем может быть проблема?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/filtroEventos"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".FiltroEventos">

    <CheckBox
        android:id="@+id/filtro1_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="10dp"
        android:text="Disp." />

    <CheckBox
        android:id="@+id/filtro1_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginTop="45dp"
        android:text="Disp." />

    <CheckBox
        android:id="@+id/filtro1_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginTop="80dp"
        android:text="Disp." />

    <CheckBox
        android:id="@+id/filtro1_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/filtro1_3"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginTop="115dp"
        android:text="Entr." />

    <CheckBox
        android:id="@+id/filtro1_5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/filtro1_4"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginTop="150dp"

        android:text="Evento" />

    <CheckBox
        android:id="@+id/filtro1_6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/filtro1_5"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginTop="185dp"

        android:text="Evento" />

    <CheckBox
        android:id="@+id/filtro3_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_marginStart="183dp"
        android:layout_marginTop="10dp"
        android:layout_marginRight="100dp"
        android:layoutDirection="rtl"
        android:text="Rest." />

    <CheckBox
        android:id="@+id/filtro3_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_marginStart="183dp"
        android:layout_marginTop="45dp"
        android:layoutDirection="rtl"
        android:text="Rest." />

    <CheckBox
        android:id="@+id/filtro3_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="183dp"
        android:layout_marginTop="77dp"
        android:layoutDirection="rtl"
        android:text="Rest." />

    <CheckBox
        android:id="@+id/filtro3_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/filtro1_3"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="192dp"
        android:layout_marginTop="113dp"
        android:layoutDirection="rtl"
        android:text="Sal." />

    <CheckBox
        android:id="@+id/filtro3_5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/filtro1_4"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="183dp"
        android:layout_marginTop="147dp"
        android:layoutDirection="rtl"
        android:text="Rest." />

    <CheckBox
        android:id="@+id/filtro3_6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/filtro1_5"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="183dp"
        android:layout_marginTop="182dp"
        android:layoutDirection="rtl"
        android:text="Rest." />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="103dp"
        android:layout_marginTop="17dp"
        android:text="Alarmas" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="93dp"
        android:layout_marginTop="52dp"
        android:text="Supervision" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="94dp"
        android:layout_marginTop="87dp"
        android:text="Problemas" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="102dp"
        android:layout_marginTop="122dp"
        android:text="Accesos" />


    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="103dp"
        android:layout_marginTop="157dp"
        android:text="Sistema" />

    <TextView
        android:id="@+id/textView6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="114dp"
        android:layout_marginTop="192dp"
        android:text="Test" />

    <View
        android:layout_width="7dp"
        android:layout_height="220dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_gravity="center"
        android:layout_marginStart="80dp"
        android:layout_marginTop="0dp"
        android:background="#FF0F28B4" />

    <View
        android:layout_width="7dp"
        android:layout_height="220dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_gravity="center"
        android:layout_marginStart="171dp"
        android:layout_marginTop="0dp"
        android:background="#0F28B4" />

</RelativeLayout>

Ответы [ 3 ]

0 голосов
/ 11 июля 2019

Проблема не в конкретной версии Android.Если вы хотите использовать RelativeLayout, используйте код ниже

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/filtroEventos"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/firstRelativeLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <CheckBox
            android:id="@+id/filtro1_1"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:text="Disp." />

        <CheckBox
            android:id="@+id/filtro1_2"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/filtro1_1"
            android:text="Disp." />

        <CheckBox
            android:id="@+id/filtro1_3"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/filtro1_2"
            android:text="Disp." />

        <CheckBox
            android:id="@+id/filtro1_4"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/filtro1_3"
            android:text="Entr." />

        <CheckBox
            android:id="@+id/filtro1_5"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/filtro1_4"
            android:text="Evento" />

        <CheckBox
            android:id="@+id/filtro1_6"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/filtro1_5"

            android:text="Evento" />
    </RelativeLayout>


    <View
        android:id="@+id/firstView"
        android:layout_width="7dp"
        android:layout_height="180dp"
        android:layout_marginStart="5dp"
        android:layout_toEndOf="@+id/firstRelativeLayout"
        android:background="#FF0F28B4" />
    <RelativeLayout
        android:id="@+id/secondRelativeLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="5dp"
        android:layout_toEndOf="@+id/firstView">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:text="Alarmas" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/textView1"
            android:text="Supervision" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/textView2"
            android:text="Problemas" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/textView3"
            android:text="Accesos" />


        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/textView4"
            android:text="Sistema" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layout_below="@+id/textView5"
            android:text="Test" />
    </RelativeLayout>


    <RelativeLayout
        android:id="@+id/thirdRelativeLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="5dp"
        android:layout_toEndOf="@+id/secondView">
        <CheckBox
            android:id="@+id/filtro3_1"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layoutDirection="rtl"
            android:text="Rest." />

        <CheckBox
            android:id="@+id/filtro3_2"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layoutDirection="rtl"
            android:layout_below="@+id/filtro3_1"
            android:text="Rest." />

        <CheckBox
            android:id="@+id/filtro3_3"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layoutDirection="rtl"
            android:layout_below="@+id/filtro3_2"
            android:text="Rest." />

        <CheckBox
            android:id="@+id/filtro3_4"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layoutDirection="rtl"
            android:layout_below="@+id/filtro3_3"
            android:text="Sal." />

        <CheckBox
            android:id="@+id/filtro3_5"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layoutDirection="rtl"
            android:layout_below="@+id/filtro3_4"
            android:text="Rest." />

        <CheckBox
            android:id="@+id/filtro3_6"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:layoutDirection="rtl"
            android:layout_below="@+id/filtro3_5"
            android:text="Rest." />
    </RelativeLayout>
    <View
        android:id="@+id/secondView"
        android:layout_width="7dp"
        android:layout_height="180dp"
        android:layout_marginStart="10dp"
        android:layout_toEndOf="@+id/secondRelativeLayout"
        android:background="#0F28B4" />
</RelativeLayout>
0 голосов
/ 12 июля 2019

Для правильной настройки макета попробуйте LinearLayout с weight

Пожалуйста, попробуйте следующий код:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">
            <LinearLayout
                android:layout_weight=".34"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:orientation="vertical">
                <LinearLayout
                    android:layout_weight=".17"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical">
                    <CheckBox
                        android:id="@+id/filtro1_1"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:text="Disp."/>
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical">
                    <CheckBox
                        android:id="@+id/filtro1_2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Disp." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical">
                    <CheckBox
                        android:id="@+id/filtro1_3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Disp." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical">
                    <CheckBox
                        android:id="@+id/filtro1_4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Entr." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical">
                    <CheckBox
                        android:id="@+id/filtro1_5"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Evento" />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical">
                    <CheckBox
                        android:id="@+id/filtro1_6"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Evento" />
                </LinearLayout>
            </LinearLayout>
            <View
                android:layout_weight=".01"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:background="#FF0F28B4" />
            <LinearLayout
                android:layout_weight=".3"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:gravity="center"
                android:orientation="vertical">

                <LinearLayout
                    android:layout_weight=".17"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center">
                    <TextView
                        android:id="@+id/textView1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Alarmas"/>
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center">
                    <TextView
                        android:id="@+id/textView2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Supervision" />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center">
                    <TextView
                        android:id="@+id/textView3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Problems" />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center">
                    <TextView
                        android:id="@+id/textView4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Accesos" />

                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center">
                    <TextView
                        android:id="@+id/textView5"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Sistema" />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center">
                    <TextView
                        android:id="@+id/textView6"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Test" />
                </LinearLayout>

            </LinearLayout>
            <View
                android:layout_weight=".01"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:background="#FF0F28B4" />
            <LinearLayout
                android:layout_weight=".34"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:gravity="center_vertical|right">
                <LinearLayout
                    android:layout_weight=".17"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical|right">
                    <CheckBox
                        android:id="@+id/filtro3_1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layoutDirection="rtl"
                        android:text="Rest." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical|right">
                    <CheckBox
                        android:id="@+id/filtro3_2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layoutDirection="rtl"
                        android:text="Rest." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical|right">
                    <CheckBox
                        android:id="@+id/filtro3_3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layoutDirection="rtl"
                        android:text="Rest." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical|right">
                    <CheckBox
                        android:id="@+id/filtro3_4"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layoutDirection="rtl"
                        android:text="Sal." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical|right">
                    <CheckBox
                        android:id="@+id/filtro3_5"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layoutDirection="rtl"
                        android:text="Rest." />
                </LinearLayout>
                <LinearLayout
                    android:layout_weight=".16"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:gravity="center_vertical|right">
                    <CheckBox
                        android:id="@+id/filtro3_6"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layoutDirection="rtl"
                        android:text="Rest." />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

Вывод вышеуказанного кода:

enter image description here

Я надеюсь, что это сработает для вас.

0 голосов
/ 11 июля 2019

Проблема не в версии для Android, а в плотности экрана. Поэтому решение состоит в том, чтобы создать файл ресурсов Dimensions и задать marginStart и marginTop для каждой плотности экрана.

Следуйте примеру

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