5

Ho un EditText vicino alla parte inferiore dell'attività. Quando clicco la prima volta compaiono la tastiera e poi tutto il layout si sposta verso l'alto per rendere visibile l'EditText per scriverlo e vedere cosa si digita.Cover tastiera Android EditText quando faccio clic sulla seconda volta

Quando chiudo la tastiera (utilizzando il pulsante FATTO) e faccio di nuovo clic su EditText, il layout non si sposta e il testo EditText è completamente coperto dalla tastiera.

Ho provato ScrollView e AdjustResize e AdjustPan ma nulla è cambiato.

  <com.mypackage.widget.CEditText 
       android:id="@+id/myETid" 
       android:layout_width="@dimen/edittext_medium_width" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:background="@drawable/background_edittext" 
       android:gravity="center_horizontal" 
       android:inputType="number" 
       android:maxLength="14" 
       android:padding="@dimen/activity_smargin" 
       android:singleLine="true" 
       android:textColor="@android:color/black" 
       android:textSize="@dimen/font_midcommon_size" 
       app:typeface="@string/commonFontRegular" /> 

Questo è il mio personalizzato EditText (si tratta semplicemente di estendere standard EditText per gestire il carattere tipografico)

<activity 
     android:name=".gui.activity.MyActivity" 
     android:label="@string/activity_name" 
     android:windowSoftInputMode="stateHidden|adjustPan" 
     android:screenOrientation="landscape" > 
    </activity> 

E questo è il mio ingresso attività del AndroidManifest.

Qualsiasi idea?

+2

hai provato con 'android: windowSoftInputMode =" adjustPan "'? –

+0

Sì, ho provato con Android: windowSoftInputMode = "adjustPan" e android: windowSoftInputMode = "adjustResize". Sia in Edittext xml che in AndroidManifest ma le quote non risolvono –

+4

@MicheleCassani sei riuscito a trovare una soluzione per questo? Sto affrontando lo stesso problema e non riesco a trovare una soluzione, GRAZIE – ahmad

risposta

6

Si imposta "gravità" in .xml e questo è il problema. Ma non so perché. Sembra essere un bug di Android, basta rimuovere quella linea.

+1

infatti questo "risolve", ma ora il mio testo non è più centrato. Devo ammettere che l'ho trovato improbabile, l'ho provato comunque, e ha funzionato. Grazie! –

+0

sulla base del tuo suggerimento ho fatto quanto segue: Al secondo utilizzo di TextEdit imposta gravità a none e padding sinistro a metà della sua larghezza, in modo da emulare l'aspetto del controllo di testo vuoto centrato. Aggiunto un TextListener per rilevare quando viene inserito del testo e impostare grvity e padding ai valori originali. Questo funziona per me, ed è un enorme hack –

+0

strano, ma efficace – Nilabja