2011-02-18 33 views
5

Kullanıcı klavyeyi bir klavyede klavye ile kaydırarak dinleyebileceğim herhangi bir niyet/etkinlik var mı?Klavye açıldığında herhangi bir android olayı

Teşekkür ederiz. , android:configChanges="keyboard|keyboardHidden"

ve Etkinlik java dosyasında yöntemi onConfigurationChanged geçersiz: senin Manifest dosyasında Etkinlik geçersiz kılma

public void onConfigurationChanged(Configuration newConfig){ 
    if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO){ 
     //slideout detected 
    } 
} 

cevap

8

yılında

+0

Teşekkürler. Android emülatöründe, klavyeyi içeri/dışarı kaydırmayı nasıl taklit edebilirim? – michael

+0

Yalnızca donanım klavyesiyle çalışır –

1

Evet, etkinlik tanımına bu eklemek

Bu aktivitede bir klavye olayı patlandığında
@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) { 
     //handle keyboard slide out event 
    } 
    else if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) 
     //handle keyboard slide in event 
    } 
} 

aranacak ve ne istersen yapabilirsin.

2

Dinleyebileceğiniz bir ACTION_CONFIGURATION_CHANGED yayını vardır. @schwiz ve @binnyb tarafından sağlanan çözümlerin büyük bir kusuru vardır - sizi yapılandırma değişikliğinin tüm gerçek işleriyle uğraşmaya zorlarlar. Bu gerekli olabilir, ancak gerçek yapılandırma değişikliğini işlemek için android:configChanges ve onSaveInstanceState() ve onRetainNonConfigurationInstance() kullanarak çok daha iyi bir şekilde hizmet verdiniz.

İlgili konular