Тексты Recyclerview выглядят по-разному на разных устройствах - PullRequest
0 голосов
/ 16 мая 2019

Я работаю над деятельностью, которая имеет три обзора переработчиков.

Моя проблема в том, что на разных устройствах вывод различается.

Я тестирую приложение на своем реальном устройстве и на эмуляторах Android Studio, и вывод правильный. Но у меня есть пользователи, которые говорят, что вывод неправильный.

Вот мой снимок экрана с правильным выводом:

enter image description here

И это неправильный вывод на некоторых устройствах:

enter image description here

Я пытался изменить размер текста, но безуспешно.

Я спрашиваю вас, с чего мне начать искать решение, с точки зрения переработчика или с позиции?

EDIT

План мероприятий:

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

    android:background="#f2f2f2">



    <LinearLayout
        android:id="@+id/cabeceraTicket"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/cardview_dark_background"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/txtTicket"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:text="Ticket: "
            android:textColor="@color/cardview_light_background"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/txtSalon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:text="Salón: "
            android:textColor="@color/cardview_light_background"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/txtMesa"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:layout_weight="1"
            android:text="Mesa:"
            android:textColor="@color/cardview_light_background"
            android:textSize="18sp" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/botones"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/cabeceraTicket"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btnTodo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Menu/Ticket" />

        <Button
            android:id="@+id/btnMenu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Menu" />

        <Button
            android:id="@+id/btnTicket"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Ticket" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/botones2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/botones"
        android:layout_weight="1"
        android:orientation="horizontal">

        <Button
            android:id="@+id/btnRegresar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#009688"
            android:text="Salir"
            android:textColor="@color/white" />

        <Button
            android:id="@+id/btnMarchar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#3F51B5"
            android:text="Marchar todo"
            android:textColor="@color/white" />


    </LinearLayout>
    <Button
        android:id="@+id/btnConectar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:visibility="gone" />

    <LinearLayout
        android:id="@+id/menus"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/botones2"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="Menú"
            android:textSize="24sp"
            android:textStyle="bold" />

        <LinearLayout
            android:id="@+id/lmenu1"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/l0"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@android:drawable/ic_media_previous" />

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerViewMenu0"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="10"
                android:orientation="horizontal">


            </android.support.v7.widget.RecyclerView>

            <ImageView
                android:id="@+id/r0"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@android:drawable/ic_media_next" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/lmenu2"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:orientation="horizontal"
            android:visibility="visible">

            <ImageView
                android:id="@+id/l1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@android:drawable/ic_media_previous" />

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerViewMenu1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="10"
                android:orientation="horizontal">


            </android.support.v7.widget.RecyclerView>

            <ImageView
                android:id="@+id/r1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@android:drawable/ic_media_next" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/lmenu3"
            android:layout_width="match_parent"
            android:layout_height="80dp"
            android:orientation="horizontal"
            android:visibility="visible">

            <ImageView
                android:id="@+id/l2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@android:drawable/ic_media_previous" />

            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerViewArticulos1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="10"
                android:orientation="horizontal">


            </android.support.v7.widget.RecyclerView>

            <ImageView
                android:id="@+id/r2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@android:drawable/ic_media_next" />
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ticket"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/menus"
        android:orientation="horizontal">

        <LinearLayout
            android:id="@+id/titulo"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical">

            <TextView
                android:id="@+id/textView4"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center_horizontal"
                android:text="Ticket"
                android:textSize="24sp"
                android:textStyle="bold" />

            <ListView
                android:id="@+id/listview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_below="@+id/titulo"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:listSelector="@drawable/list_selector"
                android:state_activated="true" />
        </LinearLayout>


    </LinearLayout>

</RelativeLayout>

Макет первого вида переработчика:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_margin="1dp">

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        app:cardCornerRadius="4dp"
        app:cardElevation="1dp"
        app:cardMaxElevation="2dp">


        <RelativeLayout
            android:id="@+id/relative"
            android:layout_width="120dp"
            android:layout_height="50dp"
            android:gravity="center_horizontal|center_vertical">


            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="horizontal">

                <TextView
                    android:id="@+id/name"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"

                    android:layout_marginStart="5dp"
                    android:layout_marginLeft="5dp"
                    android:layout_marginTop="5dp"
                    android:layout_marginEnd="5dp"
                    android:layout_marginRight="5dp"
                    android:layout_marginBottom="5dp"
                    android:layout_weight="4"
                    android:autoSizeMaxTextSize="15sp"
                    android:autoSizeMinTextSize="8sp"
                    android:autoSizeTextType="uniform"
                    android:gravity="center|center_horizontal|center_vertical"
                    android:padding="12dp"
                    android:text="Canada"
                    android:textAllCaps="false"
                    android:textColor="@color/red_A700"
                    android:textSize="30sp"
                    android:textStyle="bold"
                    app:autoSizeMinTextSize="20sp"
                    app:fontFamily="sans-serif" />

            </LinearLayout>

        </RelativeLayout>

    </android.support.v7.widget.CardView>

</RelativeLayout>

Второй макет элемента просмотра переработчика:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_margin="1dp">

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        app:cardCornerRadius="4dp"
        app:cardElevation="1dp"
        app:cardMaxElevation="2dp">


        <RelativeLayout
            android:id="@+id/relative"
            android:layout_width="120dp"
            android:layout_height="50dp"
            android:gravity="center_horizontal|center_vertical">


            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:layout_centerHorizontal="true"
                android:layout_marginStart="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:layout_marginEnd="5dp"
                android:layout_marginRight="5dp"
                android:layout_marginBottom="5dp"
                android:autoSizeMaxTextSize="15sp"
                android:autoSizeMinTextSize="8sp"
                android:autoSizeTextType="uniform"
                android:gravity="center|center_horizontal|center_vertical"
                android:padding="12dp"
                android:text="Canada"
                android:textAllCaps="false"
                android:textColor="@color/red_A700"
                android:textSize="30sp"
                android:textStyle="bold"
                app:autoSizeMinTextSize="20sp"
                app:fontFamily="sans-serif" />

        </RelativeLayout>

    </android.support.v7.widget.CardView>

</RelativeLayout>

Третий макет элемента просмотра переработчика:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_margin="1dp">

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        app:cardCornerRadius="4dp"
        app:cardElevation="1dp"
        app:cardMaxElevation="2dp">


        <RelativeLayout
            android:id="@+id/relative"
            android:layout_width="120dp"
            android:layout_height="50dp"
            android:gravity="center_horizontal|center_vertical">


            <TextView
                android:id="@+id/name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                android:layout_centerHorizontal="true"
                android:layout_marginStart="5dp"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="5dp"
                android:layout_marginEnd="5dp"
                android:layout_marginRight="5dp"
                android:layout_marginBottom="5dp"
                android:autoSizeMaxTextSize="15sp"
                android:autoSizeMinTextSize="8sp"
                android:autoSizeTextType="uniform"
                android:gravity="center|center_horizontal|center_vertical"
                android:padding="12dp"
                android:text="Canada"
                android:textAllCaps="false"
                android:textColor="@color/red_A700"
                android:textSize="30sp"
                android:textStyle="bold"
                app:autoSizeMinTextSize="20sp" />

        </RelativeLayout>

    </android.support.v7.widget.CardView>

</RelativeLayout>

Ответы [ 2 ]

1 голос
/ 16 мая 2019

ваш код содержит как это,

    <RelativeLayout
        android:id="@+id/relative"
        android:layout_width="120dp"
        android:layout_height="50dp"
        android:gravity="center_horizontal|center_vertical"></>

вам нужно изменить макет элемента фиксированной длины ширина

0 голосов
/ 16 мая 2019

Я бы посоветовал вообще не устанавливать значения для текстового формата в вашем xml (либо в dp, либо sp).Пусть каждый пользователь выбирает свой предпочтительный textSize, изменяя общесистемный размер шрифта в Settings--->Display--->FontSize.

устройства. Просто убедитесь, что любой контейнер для этих textViews (родительский макет каждого textView)может вместить textViews разных размеров.Один из способов добиться этого - установить для ширины и высоты контейнера значения 'WrapContent', если это возможно.

Мой ответ следует рассматривать как изменение подхода к размеру текста в целом, а не какконкретный ответ на конкретную проблему, такую ​​как та, с которой вы сталкиваетесь.Возможно, найдутся более простые и быстрые решения, если вы просто захотите быстро исправить вашу текущую проблему.

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