Wie darauf reagieren ob das Tastaturfeld geöffnet/geschlossen wurde?

  • Antworten:3
Daniel online
  • Forum-Beiträge: 282

30.01.2012, 14:36:32 via Website

Hallo,

ich würde gerne mein Layout wechseln wenn die Tastatur erscheint.

Ich habe es damit versucht, es klappt aber nicht:

1final View activityRootView = findViewById(R.id.intr_enterAgendId_layout);
2 activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
3 @Override
4 public void onGlobalLayout() {
5
6 int heightDiff = activityRootView.getHeight() - activityRootView.getHeight(); //liefert immer 0. Daher arbeite ich damit nicht.
7 Log.i("CSI","change "+heightDiff);
8 if (keyboard&&getResources().getConfiguration().keyboardHidden== Configuration.KEYBOARDHIDDEN_YES) {
9 Log.i("CSI","keyboardlayout");
10 setContentView(R.layout.intr_enteragentid);
11 keyboard = false;
12 } else if(keyboard==false&&getResources().getConfiguration().keyboardHidden== Configuration.KEYBOARDHIDDEN_NO) {
13 setContentView(R.layout.intr_enteragentid_keyboard);
14 keyboard = true;
15 Log.i("CSI","normales layout");
16 }
17 }
18 });

Kennt dafür jemand eine einfache Lösung? Oder weiß wer wieso heightDiff immer 0 ist?

Lg,
Daniel

Antworten
Daniel online
  • Forum-Beiträge: 282

30.01.2012, 14:59:05 via Website

Das funktioniert leide nur mit einem Hard-Keyboard. Das Softkeyboard kann man nicht abfragen.

Antworten