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

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

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


person Jacky    schedule 01.09.2009    source источник
comment
This question is unlikely to help any future visitors, да, верно! Там более 40 тысяч посещений.   -  person Daryl Bennett    schedule 07.12.2014
comment
Близкая причина точно не правильная, но все же хотелось бы увидеть пример желаемого поведения и текущего поведения, может скриншот. Возможно, с годами улучшились и стандарты задавания вопросов.   -  person Trilarion    schedule 18.02.2015


Ответы (5)


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

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

<EditText 
    android:text="Any Text" 
    android:layout_width="fill_parent" 
    android:layout_height="16dp" 
    android:padding="2dp"
    android:background="#FFF"
    android:textSize="10dp"
/>
person bhatt4982    schedule 02.09.2009
comment
это на самом деле уменьшает текст редактирования, но когда я щелкаю по нему, в середине будет оранжевая линия. - person Jacky; 04.09.2009
comment
@Jacky: это можно решить, добавив фон. Попробуйте с атрибутом - android:background=#FFF Best - укажите рисование на основе xml для фона, которое может обрабатывать все состояния (например, фокус) - person bhatt4982; 04.09.2009
comment
Это кажется довольно взломанным. Во-первых, вы должны установить textSize, используя измерение sp, а не dp. - person Zack Marrapese; 22.04.2011
comment
@joel .. Просто используйте фон .. android:background=#FFF - person M. Usman Khan; 31.03.2014

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

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

Дополнительные сведения см. здесь: http://developer.android.com/guide/topics/ui/themes.html

person learn_andrd    schedule 06.09.2011

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

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

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

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

person Timo    schedule 25.10.2011

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

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

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

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

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

person Dimitar Dimitrov    schedule 01.09.2009
comment
Я использую LinerLayout, на самом деле уменьшение шрифта текста не решит проблему. - person Jacky; 01.09.2009

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

 android:layout_height="15dp"
 android:textSize="12sp"
person Adiii    schedule 31.05.2015