2009-03-17 14 views
6

Devo mostrare un numero elevato di controlli EditText su uno schermo, ognuno dei quali consentirà solo l'inserimento di 0-2 cifre. La dimensione EditText predefinita è troppo ampia perché io possa mostrare abbastanza controlli EditText su uno schermo, ma non sono stato in grado di capire come renderli più stretti. Ho provato i seguenti attributi inCome rendere EditText più piccolo del valore predefinito?

XML:

android:maxLength="2" 
android:layout_width="20dip" 
android:maxWidth="20px" 
android:ems="2" 
android:maxEms="2" 

Quindi la domanda è: come può EditText essere reso più piccolo di default?

+0

proprietà padding da utilizzare e piccolo il testo di modifica nell'applicazione –

risposta

9

Provare in questo modo, invece, mostra la differenza. Usa il layout_width con la larghezza specificata.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

<EditText 
    android:width="10dip" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    /> 

<EditText 
    android:layout_width="40dip" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    android:maxLength="2" 
    /> 

</LinearLayout> 

alt text http://i40.tinypic.com/2953fao.jpg

+0

Questo in realtà mi sembra più ampio di quello predefinito. Come appare se hai solo due caratteri in EditText? –

+0

OK, capisco cosa intendi ora. Se non viene specificata la larghezza, l'intera larghezza del testo viene utilizzata per impostazione predefinita fino alla larghezza dello schermo. – Feet

+0

Ah, capito. Il mio problema era che avevo i controlli in una tabella e cambiarne solo uno non ha fatto cambiamenti. Una volta che li ho cambiati TUTTI ho visto i cambiamenti. –

4

Hey una volta che si tenta di questo, si può lavorare ....... android: textAppearance = "android:? Attr/textAppearanceSmall"

1

Nel caso in cui si finisce in questa pagina per cercare come ottenere lo stesso in codice Java ..

txtSample.setFilters(new InputFilter[]{new InputFilter.LengthFilter(2)}); 
1

Quando in una tabella, come lei, Android: layout_gravity = "left" crollerà il Modifica testo fino alla dimensione indicata di EditText