Установите фактическое заполнение текста в TextView с помощью составных объектов рисования
У меня есть ListView
заселены ArrayAdapter
, Для предметов я использую только один TextView
раскладка. Я хочу, чтобы в некоторых строках были установлены составные элементы рисования.
Вопрос: есть ли способ установить отступ для фактического текста, который содержится в TextView
так что составные чертежи тоже не получают отступы? Другим решением будет блокировка ширины текста. Нужно ли добавлять ImageViews
к моему макету?
Заранее спасибо.
3 ответа
Я публикую это как ответ, чтобы кто-то, кто сталкивается с этим сообщением, нашел ответ.
Не существует прямого способа установить заполнение только для текста, но вы можете установить положительный отступ для целого TextView
и установите отрицательный отступ для рисования.
Достаточно просто
андроид:drawablePadding="5 диоптрий"
Он будет автоматически использовать отступы в соответствии с направлением
Улучшение предложения Gio, которое, вероятно, для устаревшего API / SDK...
TL: DR - просто подать заявку android:drawablePadding
увеличить расстояние между изображением и текстом.
Объяснение: android:drawablePadding
теперь применяется отступ между CompoundDrawable
и оригинал View
в этом случае TextView, содержащий текст;
android:padding
и модификаторы теперь применяются ко всей группе, включая все соединения.
Кажется, что взломать негатив-позитив больше не работает.
Таким образом, в зависимости от позиции рисования (drawableTop/Left/...), заполнение будет применяться в противоположном направлении, прямо рядом с рисуемым, другими словами между двумя элементами. Например, применяя drawablePadding="10dp"
слева отрисовка будет иметь такой же эффект, как установка индивидуального ImageView
слева от TextView с paddingRight="10dp"
(по крайней мере, в дополнение).