Как сделать Android EditText меньше по высоте, чем по умолчанию?

StackOverflow https://stackoverflow.com/questions/1361332

  •  20-09-2019
  •  | 
  •  

Вопрос

Как сделать Android EditText меньше по высоте, чем по умолчанию?

Если я изменю высоту, я не увижу текст, но внизу появится пустое место.

Это было полезно?

Решение

EditText имеет набор дополнений по умолчанию.

Попробуй это,

<EditText 
    android:text="Any Text" 
    android:layout_width="fill_parent" 
    android:layout_height="16dp" 
    android:padding="2dp"
    android:background="#FFF"
    android:textSize="10dp"
/>

Другие советы

Использовать

android:textAppearance="?android:attr/textAppearanceSmallInverse"

Для получения дополнительной информации см. это: http://developer.android.com/guide/topics/ui/themes.html

Меня не совсем удовлетворил ни один из ответов, хотя в совокупности они в основном содержат все ингредиенты для правильного решения.Но давайте сначала определим, в чем проблема.Проблема в том, что bhatt4982 заявил о дополнении, и он предложил решение этой проблемы.Установите отступы на то, что вы хотите.Если вам также нужен шрифт меньшего размера, сделайте что-то вроде Learn_andrd или что-то вроде этого.

style="@android:style/TextAppearance.Small.Inverse"

Теперь ширина элемента EditText правильная, а размер шрифта соответствует размеру вашего обычного TextView.Цвет, однако, обратный: светло-серый не слишком хорошо смотрится на белом фоне.И это подводит нас к последней из наших проблем — предыстории.Вам необходимо установить другой фон, поскольку фон EditText по умолчанию имеет минимальную высоту.Эта высота является высотой текущей высоты элемента.AFAIK Android не поддерживает уменьшение фоновых изображений.Вы должны определить свой собственный фон Drawable для EditText, который допускает высоту, меньшую, чем разрешенная по умолчанию.В противном случае это не будет иметь никакого эффекта, независимо от того, что вы пытаетесь установить для высоты, отступов или границ.

P.S.Вы можете задаться вопросом, почему вам так сложно создавать меньшие EditViews...возможно, это как-то связано с тем, что даже в этом случае очень сложно переместить пальцем курсор в определенную позицию в элементе EditText (скажем, для исправления опечатки без стирания всего).Это станет невозможным, если вы сделаете текст еще меньше.Таким образом, вам, вероятно, следует пересмотреть то, чего вы пытаетесь достичь, действительно ли это то, к чему стоит стремиться, если только вы просто не пытаетесь сократить отступы.

Есть ли возможность явно установить высоту?

Если да, используйте что-то вроде

<EditText
    android:id="@+id/smallEditText"
    android:layout_width="wrap_content"
    android:layout_height="10dip"/>

Вы можете уменьшить размер шрифта, используя android:textSize в XML.Вы также можете сделать элемент управления прокручиваемым.

Редактировать:Только что увидел ваши скриншоты, в каком макете вы поместили EditText?Возможно, для вашего элемента управления установлены неявные правила макета.

измените текст редактирования XML этих двух свойств

 android:layout_height="15dp"
 android:textSize="12sp"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top