2016-04-22 10 views
2

Ich brauche etwas, um die Existenz der Tastatur im Fenster einer Android-App zu überprüfen ... Das Problem ist, ich kann nicht den Fokus/Unschärfe der Eingabe testen, und Ich brauche die Überprüfung der Tastatur ... Ich sehe die offizielle Dokumentation Appcelerator und diese Funktionalität ist nur für iOS ... hat jemand eine Lösung?Wie erkennt man die Tastatur auf dem Android-Fenster - Titanium Appcelerator

KeyboardVisible Eigenschaft für iOS:

http://docs.appcelerator.com/platform/latest/#!/api/Titanium.App-property-keyboardVisible

Antwort

-2

Es gibt kein jeden direkten Weg, dies zu tun. aber ein Trick könnte Arbeit sein. Versuche dies.

final View activityRootView = findViewById(R.id.activityRoot); 
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
@Override 
public void onGlobalLayout() { 
    int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight(); 
    if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard... 
     ... do something here 
    } 
    } 
}); 
+0

Danke für die Antwort Freund, aber ich benutze den Appcelerator Titanium (js), um meine App zu bauen ... ist nicht native ... –

1

As you can see in the official docs gibt es keine native Möglichkeit zu erkennen, ob die Tastatur sichtbar ist; Wenn Sie beim Öffnen des Fensters die Tastatur anzeigen müssen, fügen Sie einen Listener zu 'Öffnen' und 'Fortsetzen' hinzu (dieser stammt aus der Aktivität, nicht aus dem Fenster) und wird auch ausgelöst, wenn Ihre App vom Hintergrund in den Vordergrund) für eine Funktion, die Ihr Feld fokussiert, wenn Sie wissen müssen, wenn die Tastatur geöffnet ist, um das Layout zu ändern, Android bereits versuchen, es für Sie anzupassen (in diesem Fall alles in einem Scrollview platzieren).