in alto su Eu Vid's answer, desidero sottolineare che Cordova 6.4.0 e soprattutto ha il supporto per <edit-config />
che possiamo usare per modificare AndroidManifest.xml
.
Per prima cosa è necessario aggiungere l'attributo dello spazio dei nomi di Android. Nel tuo config.xml
, aggiungi un nuovo attributo xmlns:android="http://schemas.android.com/apk/res/android"
a <widget />
. Il tuo blocco widget di dovrebbe essere simile a questo:
<widget
id="com.my.app"
version="0.0.1"
xmlns="http://www.w3.org/ns/widgets"
xmlns:cdv="http://cordova.apache.org/ns/1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
Ora aggiungere il seguente codice all'interno <widget />
:
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
<activity android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustPan" />
</edit-config>
Ora quando si chiama cordova platform add android
, il AndroidManifest.xml
saranno generate con le impostazioni di cui sopra.
Nota:
- Il codice precedente non sovrascrive blocco
<activity>
ma si fonde con esso; sostituirà solo gli attributi xml specificati.
- Se hai già chiamato in anticipo
cordova platform add android
, puoi rimuoverlo inserendo cordova platform rm android
prima di aggiungerlo di nuovo.
seguendo questa rotta, non sarebbe possibile che la tastiera copra la casella di input. Da lì, l'utente non vedrà cosa stanno digitando. – darewreck
@darewreck è un buon punto, perché ho avuto questo problema esatto e ho implementato questa soluzione e non funzionerà per me per questo motivo esatto.Per quanto mi riguarda, penso che dovrò trovare una soluzione in cui sia possibile capire come determinare se viene mostrata la tastiera, assegnare a una variabile e attivare la visibilità della barra inferiore in base a quella, perché il comportamento sul campo è migliore con impostazioni originali. La risposta è corretta, ma il punto di sfida è molto valido – chairmanmow