2016-03-30 2 views
2

Ich habe Fensteransicht in der Unterseite und wenn ich auf einen beliebigen Edittext klicke, öffnet sich die Tastatur aber unter der Windows-Ansicht (Windowview kommt über die Tastatur). Versucht mit adjustPan, adjustResize. Mit der Verwendung von show versucht, die Ansicht nach der Sichtbarkeit der Tastatur auszublenden, aber es gibt eine Sicherheitsausnahme.Wie vermeidet man die Fensteransicht? Tastatur?

mTabParams = new WindowManager.LayoutParams(
       ViewGroup.LayoutParams.MATCH_PARENT, 
       ViewGroup.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT | 
       WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
       WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | 
         WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, 
       PixelFormat.TRANSPARENT); 

     mTabParams.format = PixelFormat.TRANSLUCENT; 
     mTabParams.height = TAB_BAR_HEIGHT; 
     mTabParams.gravity = Gravity.BOTTOM; 
     mWindowmanager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); 
     mWindowmanager.addView(mTabbarLayout, mTabParams); 
+0

'int \t TYPE_SYSTEM_OVERLAY \t Fenstertyp: System-Overlay-Fenster, die über allem anderen angezeigt werden müssen." Also versuchen Sie, diese Flagge zu entfernen und sehen Sie, ob es hilft. –

Antwort

0

Das ist für mich gearbeitet:

params = new WindowManager.LayoutParams( 
    WindowManager.LayoutParams.WRAP_CONTENT, 
    WindowManager.LayoutParams.WRAP_CONTENT, 
    WindowManager.LayoutParams.TYPE_PRIORITY_PHONE, 
    WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | 
    WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | 
    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | 
    WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | 
    WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM, 
    PixelFormat.TRANSLUCENT); 

Damit lag die hinzugefügt Ansicht hinter der Tastatur.

Verwandte Themen