我想在虛擬鍵盤打開時顯示按鈕,如果虛擬鍵盤可見性關閉,則隱藏此按鈕。但是我找不到任何偵聽器來執行此活動。 任何人都知道如何做到這一點?如何驗證虛擬鍵盤可見性?
0
A
回答
0
如發現here,您需要實例化SoftkeyBoard
並添加一個偵聽器。
/*
Somewhere else in your code
*/
RelativeLayout mainLayout = findViewById(R.layout.main_layout); // You must use your root layout
InputMethodManager im = (InputMethodManager) getSystemService(Service.INPUT_METHOD_SERVICE);
/*
Instantiate and pass a callback
*/
SoftKeyboard softKeyboard;
softKeyboard = new SoftKeyboard(mainLayout, im);
softKeyboard.setSoftKeyboardCallback(new SoftKeyboard.SoftKeyboardChanged()
{
@Override
public void onSoftKeyboardHide()
{
// Code here
}
@Override
public void onSoftKeyboardShow()
{
// Code here
}
});
/*
Open or close the soft keyboard programatically
*/
softKeyboard.openSoftKeyboard();
softKeyboard.closeSoftKeyboard();
/*
SoftKeyboard can catch keyboard events when an EditText gains focus and keyboard appears
*/
/* Prevent memory leaks:
*/
@Override
public void onDestroy()
{
super.onDestroy();
softKeyboard.unRegisterSoftKeyboardCallback();
}
在他的文章中,您還可以找到更多關於錯誤修復和可能問題的信息。
0
添加onGlobalLayoutListener到活動/片段的父視圖,使您的按鈕知名度相應
final View parentView= findViewById(R.id.myrootview);
parentView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = root.getRootView().getHeight() - root.getHeight();
Rect rectgle= new Rect();
Window window= getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectgle);
int contentViewTop=
window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
if(heightDiff <= contentViewTop){
//Soft KeyBoard Hidden---button visible
}else{
//Soft KeyBoard Shown---button hide
}
}
});
0
有鍵盤沒有直接的事件打開和關閉。但是您可以在完整版面上創建觀察者,然後顯示按鈕或任何您想要執行的操作。 對於觀察者代碼檢查 - Hide part of activity_main.xml if keyboard is open (Android)
相關問題
- 1. Phonegap - Android虛擬鍵盤和文本框可見性問題
- 2. 鍵盤可見性
- 3. 如何驗證Android上的虛擬鍵盤上的密鑰?
- 4. 虛擬鍵盤
- 5. 驗證長度不工作,如果使用虛擬鍵盤
- 6. Android虛擬鍵盤KeyListener獲取虛擬鍵盤按鍵
- 7. 虛擬鍵盤wpf
- 8. 虛擬鍵盤javascript
- 9. Windows虛擬鍵盤
- 10. MooTools虛擬鍵盤?
- 11. 了虛擬鍵盤
- 12. javascript虛擬鍵盤
- 13. Jquery虛擬鍵盤
- 14. Javascript虛擬鍵盤
- 15. Flex:虛擬鍵盤
- 16. JavaFX虛擬鍵盤
- 17. Mottie的虛擬鍵盤關閉驗證true
- 18. 如何確定虛擬鍵盤高度?
- 19. 如何設置primefaces虛擬鍵盤?
- 20. 如何禁用虛擬鍵盤?
- 21. 如何隱藏虛擬鍵盤
- 22. 如何在物理鍵盤連接時顯示虛擬鍵盤
- 23. JavaScript中的虛擬鍵盤
- 24. 隱藏虛擬鍵盤
- 25. Lwuit禁用虛擬鍵盤
- 26. 製作虛擬鍵盤
- 27. 實現虛擬鍵盤PC
- 28. 使虛擬鍵盤消失
- 29. 動畫虛擬鍵盤
- 30. iPhone虛擬鍵盤錯誤