2015-09-06 13 views
6

WebView (SlidingTabLayout ile ViewPager'da bir Fragman içinde) var. AdjustResize, klavyeyi dışladıktan sonra klavyeden çıktıktan sonra çalışmıyor

yazmak için WebView'ı kullanarak

, ben düzen giriş görünür olmasını sağlamak için yeniden boyutlandırmak istediğiniz.

WebView'de bir metin girişini tıklattığımda, yazılım tuşu belirir ve düzen yeniden boyutlandırılır. Metnimi girebiliyorum ve softkeyboard'un dönüş düğmesini kullanarak gönderebilir veya geri düğmesini kullanarak girişi iptal edebilirim. Bundan sonra klavye kaybolur ve düzen yeniden boyutlandırılır. Doğru AdjustResize davranış.

SoftKeyboard dışında tıklayarak klavyeyi görevden ne zaman (Google'dan bir sorgu girip WebView'da Arama düğmesine basarken mesela) klavyeler deri ve düzen yeniden boyutlandırmak için yaklaşık 2-3 saniye sürer

Ancak (bırakarak Benim düzenimin alt kısmında 2-3 saniye boş bir alan). Bundan sonra, textinput seçerken, klavye WebView (adjustPan) üzerini kaplar.

WebView'e basarak klavyeyi kapatırken, adjustResize davranışının sürdürüldüğünden nasıl emin olabilirim.

ben yeniden ayarlama AdjustResize (örn onTouch itibaren) denedim ama bu hiçbir etkisi yoktur:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

Ben de following solution denedim ama bu hiçbir değişiklik verir.

Ayrıca, bunun muhtemelen bir odak sorunu (klavye görünmüyor çünkü ve webview tepki veriyor) olmadığını düşünüyorum ettik. Ve ben adlı odağı soruyorsun:

webView.setFocusable(true); 
    webView.setFocusableInTouchMode(true); 
+0

Yeni bir proje oluşturmak, bazı kodları kopyalayıp yapıştırmak ve cihazımda karşılaştığınız sorunu görmek istiyorum. Bir düzenleme yapabilir misiniz, böylece bu mümkün mü? – NecipAllef

+0

@NecipAllef Bazı dosyaları zaten gönderiyorum. Ancak, isterseniz tam projemi gönderebilirim. E-posta (24HR) l: [email protected] – Mdlc

+0

WebView kaynak kodunuzu gördüm ve yaklaşık 1.2k kod satırı vardı ve bunların çoğunun sorununuzla bile ilgili olmadığını düşünüyorum. Sorunu gözlemlememize olanak tanıyan ancak aynı zamanda derlemek veya hata ayıklamak zor olan bir kod da sağlayabilirseniz, daha hızlı yardım alabilirsiniz. Bu yüzden örnek bir proje oluşturmanızı ve paylaşmanızı öneriyorum. Github ile mümkün olduğuna inanıyorum. – NecipAllef

cevap

0

O olduğu ortaya çıktı o size WebView'da veya WebView düzeni (dolaylı değiştirilirse düzen çeviriler gerçekleştirdiğinizde örneğin bir RelativeLayout içinde WebView'da üstünde bir elemana yeniden boyutlandırma sırasında söz konusu belirtildiği gibi

  • AdjustResize davranışı (kaybedilebilir)
  • WebView klavyenin sonra o sırada normale uzun sürebilir yeniden boyutlandırmak: yani bazı garip davranışa neden olabilir gösteren ve klavyeyi gizleme) de boyutlandırılmasını WeView neden olur .
  • WebView performans benim için bu sorunu çözmüş ne

, (bu neden görünmüyor dönmesi üzerine düzen yeniden yüklenmesine) herhangi bir şekilde WebView'da düzen değişiklikleri önlemekti azalır. Benim durumumda, Web Çubuğunun yeniden boyutlandırılmasına (ve ekranı doldurmasına) neden olan Araç Çubuğunu gösterip gizliyordum.

İlgili konular