Android TextView не отображается в Nexus 4 4.4.2, изменение гравитации исправляет это

У меня была жалоба от пользователя Nexus 4. После обновления до 4.4.2 его текстовое представление исчезло с экрана. Я обнаружил, что если я удалю android:gravity="center", он вернется. Также, если я уменьшу его, он тоже вернется. Почему это происходит только на этом устройстве и есть ли решение? Я хотел бы, чтобы большой текст оставался в центре. Он находится внутри RelativeLayout и вот код xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/cyan"
android:orientation="vertical" >



<Button
    android:id="@+id/sync_button"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="@string/sync_button"
    android:textSize="@dimen/button_text_size" />

<Button
    android:id="@+id/clear_button"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_above="@+id/sync_button"
    android:layout_alignParentRight="true"
    android:text="@string/clear_button"
    android:textSize="@dimen/button_text_size" />

<Button
    android:id="@+id/prog_button"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:text="@string/prog_button"
    android:textSize="@dimen/button_text_size" />

<Button
    android:id="@+id/start_button"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/clear_button"
    android:text="@string/start_button"
    android:textSize="@dimen/button_text_size" />



<TextView

    android:id="@+id/timer_text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:ellipsize="none"
    android:gravity="center"
    android:includeFontPadding="false"
    android:text="@string/_5_00"
    android:textColor="@color/black"
    android:textStyle="bold" />


<TextView
    android:id="@+id/spdTitle"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:ellipsize="marquee"
    android:gravity="left"

    android:singleLine="true"
    android:text="@string/speed"
    android:textColor="@color/black"
    android:textSize="@dimen/small_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/status_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
     android:layout_alignBottom="@+id/timer_text"
  android:gravity="right"

    android:singleLine="true"

    android:textColor="@color/black"
    android:textSize="20dip"
    android:textStyle="bold" />

<TextView
    android:id="@+id/accuracy_text"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignBottom="@+id/timer_text"
    android:gravity="left"

    android:singleLine="true"
    android:text="@string/accuracy"
    android:textColor="@color/black"
    android:textSize="20dip"
    android:textStyle="bold" />

<TextView
    android:id="@+id/ttlTitle"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:gravity="left"

    android:singleLine="true"
    android:text="@string/time_to_line"
    android:textColor="@color/black"
    android:textSize="@dimen/small_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/timetoline_text"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:ellipsize="none"
    android:gravity="center"

    android:singleLine="true"
    android:text="@string/empty"
    android:textColor="@color/black"
    android:textSize="@dimen/fields_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/ttkTitle"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/timetoline_text"
    android:gravity="left"

    android:singleLine="true"
    android:text="@string/time_to_kill"
    android:textColor="@color/black"
    android:textSize="@dimen/small_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/distance_text"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/ttkTitle"
    android:ellipsize="none"
    android:gravity="center"

    android:singleLine="true"
    android:text="@string/empty"
    android:textColor="@color/black"
    android:textSize="@dimen/fields_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/dstTitle"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/distance_text"
    android:gravity="left"

    android:singleLine="true"
    android:text="@string/dist"
    android:textColor="@color/black"
    android:textSize="@dimen/small_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/ttk_text"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/ttkTitle"
    android:ellipsize="none"
    android:gravity="center"

    android:singleLine="true"
    android:text="@string/empty"
    android:textColor="@color/black"
    android:textSize="@dimen/fields_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/speed_text"
    android:layout_width="@dimen/cell_size"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:ellipsize="none"
    android:gravity="center"

    android:singleLine="true"
    android:text="@string/empty"
    android:textColor="@color/black"
    android:textSize="@dimen/fields_text_size"
    android:textStyle="bold" />

<TextView
    android:id="@+id/time_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/ttk_text"
    android:layout_alignParentLeft="true"
    android:gravity="right"
    android:text=""
    android:textColor="@color/black"
    android:textSize="@dimen/small_text_size"
    android:textStyle="bold" />

I worked around it by:

if(android.os.Build.VERSION.SDK_INT>=19)timerTextView.setGravity(android.view.Gravity.LEFT);

Это помогает, но не является решением, так как текст остается и меняется на всех версиях 4.4. устройства. Проблема, как я знаю, только с Nexus 4


person votopec    schedule 14.02.2014    source источник
comment
Можете ли вы дать нам код макета, который вы используете?   -  person Kaediil    schedule 14.02.2014
comment
‹TextView android:id=@+id/timer_text android:layout_width=fill_parent android:layout_height=wrap_content android:layout_alignParentLeft=true android:layout_centerVertical=true android:ellipsize=none android:gravity=center android:text=@string/_5_00 android :textColor=@color/black android:textStyle=жирный /›   -  person votopec    schedule 17.02.2014
comment
есть ли причина, по которой вы просто не используете ширину/высоту wrap_content и centerInParent=true?   -  person Zharf    schedule 17.02.2014
comment
Кроме того, я поместил это в относительную компоновку и установил на свой нексус 4 с 4.4.2, все работало нормально. Что-то еще не так с вашим макетом   -  person Zharf    schedule 17.02.2014
comment
Я обновил код и поставил полную верстку   -  person votopec    schedule 21.02.2014


Ответы (1)


включите следующее в свой xml, он должен исправить большой текст, чтобы он был в центре

android:includeFontPadding="false"

person srbyk1990    schedule 14.02.2014
comment
Пробовал, не работает. Например Galaxy Note3 с 4.4.2. работает идеально - person votopec; 17.02.2014