2012-04-09 30 views
11

Şu anda gelişmekte olan bir mobil uygulama için telefon görüşmesi kullanıyorum. Giriş ekranımda, bir metin alanı seçtiğimde, klavye açıldığında görünüm yatay olarak küçülür. Bu sadece iOS için değil, Android'de gerçekleşir.PhoneGap: Klavyenin görünümü yeniden boyutlandırmasını engellemenin bir yolu var mı?

Bu durum beni endişelendiriyor çünkü position:absolute; bottom:0; olan bir alt araç çubuğum var ve bu araç çubuğu klavye gösterildiğinde Android'de yukarı itiliyor. IOS'ta, klavye sadece onu kaplar.

cevap

26

için

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" /> 

Ekle aşağıdaki ekleyin:

android:windowSoftInputMode="adjustPan" 

ve

android:configChanges="orientation|keyboardHidden" 

yılındaişaret traumalles neyi ekleyin:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" /> 
+2

için com.phonegap.DroidGap olarak değiştirin, bu yolu kullanarak klavyenin giriş kutusunu kaplaması mümkün olmaz. Oradan, kullanıcı ne yazdığını görmez. – darewreck

+0

@darewreck iyi bir noktaya işaret ediyor, çünkü tam olarak bu sorunu yaşadım ve bu çözümü uyguladı ve bu tam olarak benim için işe yaramayacak.Benim için klavyenin gösterilip gösterilmediğini, bir değişkene atama ve alt çubuğumun görünürlüğünü değiştirmeyi nasıl belirleyeceğimi anlayabileceğim bir çözüm bulmak zorunda kalacağım çünkü saha davranışı daha iyi orijinal ayarlar. Yine de cevaplar doğru, ama darewreck'in noktası çok geçerli – chairmanmow

0

ana aktivitesi üzerine AndroidManifest.xml yılında Kafa etiketi

+9

Bu işe yaramıyor. – AlexCheuk

+0

AndroidManifest.xml'de ikinci etkinlik etiketini eklediniz mi? Paket yolunu Phonegap 1.4.x ve önceki – allesmi

0

Eu Vid's answer üzerine üst için ben yukarıda Cordova 6.4.0 ve biz AndroidManifest.xml değiştirmek için kullanabileceğiniz <edit-config /> desteği olduğunu işaret etmek istiyorum.

Önce android ad alanı niteliğini eklemeniz gerekecek. Senin config.xml, xmlns:android="http://schemas.android.com/apk/res/android"<widget /> için yeni bir öznitelik ekleyin. Şimdi

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity"> 
    <activity android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustPan" /> 
</edit-config> 

Eğer cordova platform add android çağırdığınızda, AndroidManifest.xml yukarıdaki ayarlarla oluşturulur:

<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"> 

Şimdi aşağıdaki kodu <widget /> içine ekleyin: Sizin Widget blok bu gibi görünmelidir.

Not:

  • Yukarıdaki kod <activity> blok üzerine ama onunla birleşir değildir; Sadece belirtilen xml niteliklerini değiştirir.
  • Önceden cordova platform add android'u daha önce çağırdıysanız, tekrar eklemeden önce cordova platform rm android girerek kaldırabilirsiniz.
İlgili konular