2012-03-14 6 views
1

У меня есть RelativeLayout, который состоит из TextView s, который я использую для раздувания элементов в списке. Компоновка такова:Смещение текста TextView смежным смежным TextView

enter image description here

больше текста заголовка иногда слишком долго, так что я установить атрибут ellipsize на TextView в шатер, который отрезает его, как вы можете видеть на картинке. Проблема более тонкая на рис. (От эмулятора), но на устройстве вы можете более четко видеть, что marquee сдвигает надпись «Lent Lent», поэтому они не все выровнены. Вернее, я считаю, что строка с шатеркой имеет правильное выравнивание, но те, у кого нет шатра, как-то тянут.

Это происходит только в настройках marquee, а не на обычном эллипсисе end, что заставляет меня думать, что это что-то с анимацией, которую делает шатер. Я включил свой XML-макет ниже, чтобы вы могли видеть, как все работает. Выделенные точки от кода: у титульного телевизора есть отступы, чтобы оттолкнуть его от правого края; «ДЕНЬ ДЕНЬ» позиционируется относительно слева от 0; заголовок alignParentLeft; и 0 - aligneParentRight.

Я пробовал менять прокладку на «Дне Дня» и возиться с marqueeRepeatLimit, а также просто использовать обычный многоточие.

So: Почему это несоосность происходит с соседним TextView, когда используется область выделения?

Спасибо.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 
<TextView 
    android:id="@+id/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="24sp" 
    android:layout_alignParentLeft="true" 
    android:paddingRight="70dp" 
    android:paddingTop="3dp" 
    android:paddingBottom="3dp" 
    android:textColor="@color/green" 
    android:ellipsize="marquee" 
    android:singleLine="true" /> 
<TextView 
    android:id="@+id/description" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="13sp" 
    android:layout_below="@id/title" 
    android:layout_alignParentLeft="true" 
    android:paddingRight="70dp"/> 
<TextView 
    android:id="@+id/date" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="13sp" 
    android:layout_below="@id/description" 
    android:layout_alignParentLeft="true" 
    android:paddingBottom="3dp"/> 

<TextView 
    android:id="@+id/days" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="32sp" 
    android:paddingRight="10dp" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true" 
    /> 
<TextView 
    android:id="@+id/label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="11sp" 
    android:paddingRight="5dp" 
    android:text="Days\nLent" 
    android:layout_toLeftOf="@id/days" 
    android:layout_centerVertical="true"/> 

ответ

0

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

Смежные вопросы