Установите фактическое заполнение текста в 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" (по крайней мере, в дополнение).

Другие вопросы по тегам