В чем разница между lineSpacingExtra и lineSpacingMultiplier?

Я добавляю межстрочный интервал в моем textview, который охватывает несколько строк. В чем разница между android:lineSpacingExtra и android:lineSpacingMultiplier?

lineSpacingExtra с 2dp отлично работал для меня, но мне было интересно, что делает множитель вместо этого?

2 ответов


разница в том, что android:lineSpacingExtra добавить дополнительное расстояние между строками текста TextView и android:lineSpacingMultiplier работа как масштабный коэффициент для высоты линии пространства. другими словами, высота каждой строки будет height*multiplier + extra


Это довольно просто: один аддитивный, а другой мультипликативный.

Если у вас есть интервал между строками по умолчанию LINE_SPACING и использовать:

float x = 2;
float y = 1.5;
setLineSpacing(x, y);

результирующий интервал между строками будет 1.5*LINE_SPACING + 2

важно отметить, что умножение выполняется первым! это следует за обычным порядком операций (умножение перед сложением).

см. здесь документы : http://developer.android.com/reference/android/widget/TextView.html#setLineSpacing(float, float)

в будущем было бы разумно сначала посмотреть такую документацию. ;)