2014-09-14 4 views
5

Я хочу изменить пространственное пространство TextView программно. Я искал и нашел setLineSpacing. Проблема в том, что он получает два параметра, я пробовал столько значений, но я не мог получить результат, который я хотел. Мне просто нужно предоставить текстовое пространство TextView 5dp, что я должен положить в метод, чтобы дать ему 5 dp linespace?Как передать 5dp строк в TextView программно

ответ

12

Почему вы не можете использовать setLineSpacing? Это именно то, что я бы использовал.

Основываясь на Android Documentation:

общественного недействительными setLineSpacing (поплавок добавить, поплавок мульт)

Каждая линия будет иметь его высота умноженная на мульт и добавить к нему добавляется.

Так вот что вы можете сделать:

myTextView.setLineSpacing(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5.0f, getResources().getDisplayMetrics()), 1.0f); 

Или вы можете изменить XML макета android:lineSpacingExtra. (См. Android Documentation.)

<TextView 
    android:id="@+id/txtview" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:lineSpacingExtra="5dp" /> 
+0

Вы не позаботились об устройстве 'dp'. – timrau

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