2015-11-25 3 views
0

В настоящее время я работаю над улучшением отображения своего приложения на разных размерах экрана. Этот TextView теперь должен расширяться до конца View. Это работает, но проблема в том, что он показывает эту уродливую половину строки. Я уже установил другие поля и paddings, но это заставило его выглядеть плохо на том или ином устройстве, поэтому я спрашивал себя, есть ли хорошее решение, чтобы заставить его выглядеть повсюду. Это TextView соответствующее:Проблемы с интерполяцией TextView

<TextView 
    android:id="@+id/text3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/relative_layout" 
    android:layout_marginBottom="5dp" 
    android:layout_marginTop="5dp" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:maxLines="100" 
    android:ellipsize="end" 
    android:textSize="18sp" 
    android:clickable="true" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textIsSelectable="false"/> 

This is the way it currently looks

Было бы здорово, если бы кто-то смог помочь мне, спасибо заранее!

+0

@DamianKozlak Может быть, я искал, но я не был уверен, что именно искать прочь! –

ответ

0

Я создал AdaptingTextView так:

public class AdaptingTextView extends TextView { 

public AdaptingTextView(Context context, AttributeSet attrs, int defStyle) { 
super(context, attrs, defStyle); 
} 

public AdaptingTextView(Context context, AttributeSet attrs) { 
super(context, attrs); 
} 

public AdaptingTextView(Context context) { 
super(context); 
} 

@Override 
protected void onSizeChanged(int w, int h, int oldw, int oldh) { 
super.onSizeChanged(w, h, oldw, oldh); 

// set fitting lines to prevent cut text 
int fittingLines = h/this.getLineHeight(); 
if (fittingLines > 0) { 
    this.setLines(fittingLines); 
} 
} 
} 

Источник: https://stackoverflow.com/a/26998769/3272495

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