Do góry na Eu Vid's answer, pragnę podkreślić, że Cordova 6.4.0 i powyżej posiada wsparcie dla <edit-config />
które możemy wykorzystać do modyfikacji AndroidManifest.xml
.
Najpierw musisz dodać atrybut przestrzeni nazw Androida. W swoim config.xml
dodaj nowy atrybut xmlns:android="http://schemas.android.com/apk/res/android"
do <widget />
. Twój blok widget powinien wyglądać mniej więcej tak:
<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">
Teraz dodaj następujący kod wewnątrz<widget />
:
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
<activity android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustPan" />
</edit-config>
Teraz kiedy zadzwonić cordova platform add android
The AndroidManifest.xml
będą generowane z ustawieniami powyżej.
Uwaga:
- Powyższy kod nie zastąpi blok
<activity>
ale łączy się z nim; zastąpi on tylko określone atrybuty xml.
- Jeśli wcześniej zadzwoniłeś już pod numer
cordova platform add android
, możesz go najpierw usunąć, wpisując najpierw cordova platform rm android
, a następnie dodać go ponownie.
, przechodząc tę trasę, nie jest możliwe, że klawiatura zakrywa pole wprowadzania. Stamtąd użytkownik nie będzie widział tego, co pisze. – darewreck
@darewreck ma słuszność, ponieważ miałem ten problem i zaimplementowałem to rozwiązanie i nie zadziała dla mnie z tego powodu.Wydaje mi się, że będę musiał znaleźć rozwiązanie, w którym będę mógł dowiedzieć się, jak ustalić, czy klawiatura jest wyświetlana, przypisać do zmiennej i przełączać widoczność mojego dolnego paska na podstawie tego, ponieważ zachowanie pola jest lepsze z oryginalne ustawienia. Odpowiedź jest prawidłowa, ale punkt odważny jest bardzo ważny – chairmanmow