2009-09-01 7 views
15

Jak zmusić Android EditText do rozmiarów mniejszych od domyślnych?Jak zmusić Android EditText do mniejszych niż domyślne wysokości?

Jeśli zmienię wysokość, nie widzę mojego tekstu, ale ma on dodatkowy pusty na dole.

+1

'To pytanie jest mało prawdopodobne, aby pomóc wszelkie przyszłe visitors', tak dobrze! Jest ponad 40 tys. Odwiedzin. –

+0

Bliski powód jest zdecydowanie nie w porządku, ale nadal chciałbym zobaczyć przykład, jakie jest pożądane zachowanie i jakie jest obecne zachowanie, może być zrzut ekranu. Może przez lata ulepszono również standardy zadawania pytań. – Trilarion

Odpowiedz

24

EditText ma domyślny zestaw dopełnienia.

Spróbuj tego,

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

To powoduje, że edittext jest mniejszy, ale gdy go kliknę, na środku pojawi się pomarańczowa linia. – Jacky

+0

@Jacky: To można obsłużyć, dodając tło. Spróbuj za pomocą atrybutu - android: background = "# FFF" Najlepiej - określ bazujący na formacie xml dla tła, który może obsłużyć wszystkie stany (np. Ostrość). – bhatt4982

+1

To wydaje się raczej zhackowane. Po pierwsze, powinieneś ustawić textSize za pomocą pomiaru sp, a nie dp. –

3

Czy można wyraźnie ustawić wysokość?

Jeśli tak, użyj czegoś podobnego

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

Można zmniejszyć rozmiar czcionki, za pomocą android:textSize w XML. Możesz również przewinąć kontrolę.

Edytuj: Widziałeś swoje zrzuty ekranu, jaki jest układ, w którym wstawiłeś EditText? Może to być ustawienie dla formantów nie jawnych reguł układu.

+0

Używam LinerLayout, w rzeczywistości zmniejsz czcionkę tekstu, nie rozwiążę problemu. – Jacky

7

nie byłem naprawdę zadowolony z żadnej z tamtejszych odpowiedzi chociaż w połączeniu oni zawierają głównie wszystkie składniki, aby znaleźć właściwe rozwiązanie. Ale najpierw określmy, jaki jest problem. Problem polega na tym, że bhatt4982 podał dopełnienie i dostarczył rozwiązanie tego problemu. Ustaw dopełnienie tego, co chcesz. Jeśli chcesz również mniejszą czcionką zrobić coś learn_andrd sugeruje lub coś takiego

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

Teraz szerokość elementu EditText ma rację, a rozmiar czcionki jest zgodny z regularnego TextView. Kolor jest jednak odwrotny, ponieważ jasnoszary nie wygląda zbyt dobrze na białym tle. I to prowadzi nas do ostatniego z naszych problemów, tła. Musisz ustawić inne tło, ponieważ domyślne tło EditText ma minimalną wysokość. Wysokość ta jest wysokością aktualnej wysokości elementu. AFAIK Android nie obsługuje skalowania obrazów tła. Powinieneś zdefiniować własne tło Drawable dla EditText, które pozwala na wysokość mniejszą niż ta, na którą pozwala domyślny. W przeciwnym razie nie będzie miało to żadnego wpływu, niezależnie od tego, co spróbujesz ustawić na wysokość, obicie lub marszczenie.

P.S. Może zastanawiasz się, dlaczego tak trudno jest Ci stworzyć mniejsze EditViews ... może ma to coś wspólnego z tym, że nawet jeśli tak jest, bardzo trudno jest użyć palca, aby przesunąć kursor do określonego pozycja w EditText (powiedzmy o naprawieniu literówki bez usuwania wszystkiego) elementu. Stanie się to niemożliwe, jeśli sprawisz, że tekst będzie jeszcze mniejszy. Dlatego prawdopodobnie powinieneś zastanowić się, czy to, co próbujesz osiągnąć, naprawdę jest czymś, o co warto zabiegać, chyba że po prostu próbujesz zmniejszyć obicie.

0

zmienić tekst edycja XML te dwa nieruchomość

android:layout_height="15dp" 
android:textSize="12sp" 
Powiązane problemy