2016-07-26 17 views
5

Ben MapView, bir EditText ve FloatingActionButton (fab) kullanıyorum olmadan klavyenin üzerinde FloatingActionButton ve ben EditText tıklandığında fab klavyenin üzerinde taşımak istiyorum.ayarının manifest ayarında fab ile iyi çalıştığını, ancak arka planda bulunan haritamı da yeniden boyutlandırdığını ve yeniden boyutlandırıldığında gerçekten çirkin bir efekt verdiğini buldum."adjustResize" Benim app

<CoordinatorLayout> 

    <MapView/> 

    <RelativeLayout> 

     <EditText/> 

     other views ... 

    </RelativeLayout> 

    <FloatingActionButton/> 

    other views ... 

</CoordinatorLayout> 

bunu kullanmadan "adjustResize" efekti alabilir nasıl herhangi bir fikir: Burada

benim düzenidir? Ya da belki de bir görünümü yeniden boyutlandırmayı değil, "adjustResize" özelliğini tutarken nasıl hariç tutabilirsiniz?

bazı araştırmalarda sonra kökünde bir GlobalLayoutListener ekleyerek klavye kullanımını sona erdi

android:fitsSystemWindows="true" 

mülkiyet

cevap

3

,

1

düzeni xml Bu kök görünümünü deneyin şimdiden teşekkürler benim düzenimin görünümü ve bu kök görünümün geçerli görünür kısmının bir dikdörtgenini çiziyorum.
Ayrıca klavyenin gerçek yüksekliğine 25dp ekledim, çünkü bazı aygıtlarda, klavyenin üzerinde, pencerenin görünür kısmına dahil edilmiş gibi görünen bir öneri çubuğu bulunur.
if durumu, bottomSheet genişletildiğinde herhangi bir çeviriyi önlemek için vardır.

private void handleKeyBoardApparition() { 
    root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 
     @Override 
     public void onGlobalLayout() { 
      Rect r = new Rect(); 

      root.getWindowVisibleDisplayFrame(r); 

      int heightDiff = root.getBottom() - r.bottom; 

      int suggestionsBarHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,25,getActivity().getResources().getDisplayMetrics()); 

      if(!bottomSheetIsVisible){ 
       fabSearch.setTranslationY(-(heightDiff + suggestionsBarHeight)); 
      } 

     } 
    }); 
} 
+0

Bu çalışmıyor –

İlgili konular