Intereting Posts

Android TextView drawable, изменение отступов между drawable и text?

Я создаю TextView с поднимите под ним в GridLayout .

Я хочу, чтобы вытащить на середину TextView ; Я попытался с помощью setCompoundDrawablePadding(-75) и он только меняет положение текста.

Текущий код:

  TextView secondItem = new TextView(this); GridLayout.LayoutParams second = new GridLayout.LayoutParams(row2, col1); second.width = halfOfScreenWidth; second.height = (int) (quarterScreenWidth * 1.5); secondItem.setLayoutParams(second); secondItem.setBackgroundResource(R.color.MenuSecond); secondItem.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, R.drawable.ic_action_new); secondItem.setText("Text"); secondItem.setCompoundDrawablePadding(-180); secondItem.setGravity(Gravity.CENTER); secondItem.setTextAppearance(this, android.R.style.TextAppearance_Large_Inverse); gridLayout.addView(secondItem, second); 

Как установить текст и вывести его в середину TextView ?

Solutions Collecting From Web of "Android TextView drawable, изменение отступов между drawable и text?"

Вам нужно будет комбинировать drawablePadding и padding чтобы получить желаемый результат.

В XML:

Android: drawablePadding = paddingValue

или

Программный:

TextView txt;

txt.setCompoundDrawablePadding (paddingValue)

Android: drawablePadding – самый простой способ дать отступы для рисования значка, но вы не можете дать конкретную боковую прописку, например paddingRight или paddingLeft . Это дает отступы по обе стороны от выталкиваемого.

Вы можете использовать список слоев.

До:

Введите описание изображения здесь

Создайте xml для shape – shape_rectangle.xml:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="5dp"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="@color/my_color" /> <size android:width="5dp" android:height="5dp" /> </shape> </item> </layer-list> 

После:

Введите описание изображения здесь

В xml есть что-то вроде android:right . Вы можете добавить также top , left , bottom . Таким образом, вы можете указать, например: padding left и right to drawable без изменения общей высоты textView.