我已經注意到了Android Market Application
,當你點擊了搜索按鈕,它顯示的鍵盤,但是當你點擊back
按鈕,搜索EditText
成爲無形和keyboard
是隱藏的,這個問題我在按下後退鍵後隱藏鍵盤後不能隱藏EditText
,因爲我找不到隱藏鍵盤事件的偵聽器。 我發現這個樣本How to capture the "virtual keyboard show/hide" event in Android? 但軟鍵盤鍵盤隱藏事件
鍵盤隱藏事件
回答
您需要實現此捕獲BACK按鈕之前,它被分派到IME:通過API支持包
你真棒。 –
我真棒。經過幾個小時的嘗試各種焦點和編輯器的行動,這完美的做法。 – Geobits
這將在Edittext上工作?這意味着我可以在Edittext上使用而不創建它的子類? –
我想你應該處理這個使用重點不工作:
final InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
edttext.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(!(hasFocus))
{
mgr.hideSoftInputFromWindow(edttext.getWindowToken(), 0);
}
}
});
嘿,我認爲市場的應用程序使用的GoogleSearch對話框(退房Searcheable activity) 。
您可以在popupWindow中實現editText,並將poupwindow設置爲可調焦。顯示彈出窗口時顯示鍵盤。在onDismiss隱藏鍵盤。
popupWindow.setFocusable(true);
popupWindow.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
// TODO Auto-generated method stub
inputMethodManager.hideSoftInputFromWindow(
edttxtSearchBar.getWindowToken(), 0); }
這將確保,您單擊以外的任何地方彈出或壓回彈出的消失以及(連同鍵盤)。
問題是,當顯示鍵盤時,你點擊'Back'鍵,鍵盤會處理後退事件並被隱藏,然後你必須再次點擊'Back'來關閉PopupWindow或'Dialog' –
我想你可能也想重寫返回按鈕並手動關閉彈出窗口。 – rDroid
的谷歌電子市場的應用程序使用的片段。當你點擊回來的時候,它實際上會回到片段堆棧中。這就像在沒有屏幕滑動的情況下返回活動。他們返回的片段不包含搜索框,這是它消失的原因。
**perfect answer** REFER THIS **SIMPLE EXAMPLE**...ITS TOOOO GOOOODDDD
KTBEditTextWithListener.java // Custom edittext
import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
public class KTBEditTextWithListener extends android.widget.EditText {
public KTBEditTextWithListener(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public KTBEditTextWithListener(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// createFont(context);
}
public KTBEditTextWithListener(Context context, AttributeSet attrs) {
super(context, attrs);
// createFont(context);
}
private BackPressedListener mOnImeBack;
/* constructors */
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
if (mOnImeBack != null) mOnImeBack.onImeBack(this);
}
return super.dispatchKeyEvent(event);
}
public void setBackPressedListener(BackPressedListener listener) {
mOnImeBack = listener;
}
public interface BackPressedListener {
void onImeBack(KTBEditTextWithListener editText);
}
}
//my_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.ktb.gopharma.views.KTBEditTextWithListener
android:id="@+id/edit_text"
style="@style/match_width">
</com.ktb.gopharma.views.KTBEditTextWithListener>
</LinearLayout>
//MyActivity.java
package com.ktb.gopharma;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import com.ktb.gopharma.views.KTBEditTextWithListener;
import com.ktb.gopharma.views.KTBEditTextWithListener.BackPressedListener;
import com.ktechbeans.gopharma.R;
public class MyActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_layout);
KTBEditTextWithListener editText = (KTBEditTextWithListener) findViewById(R.id.edit_text);
editText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
showToast("keypad opn");
}
});
editText.setBackPressedListener(new BackPressedListener() {
@Override
public void onImeBack(KTBEditTextWithListener editText) {
showToast("keypad close");
}
});
}
}
更換與實際代碼的鏈接更好..但仍不完美:請不要發佈相同的答案多個問題。發佈一個很好的答案,然後投票/標記以重複關閉其他問題。如果問題不是重複的, – kleopatra
- 1. 辭職急救員隱藏鍵盤,但不生成鍵盤將隱藏/鍵盤確實隱藏事件
- 2. 鍵盤在android中隱藏事件
- 3. 鍵盤隱藏時的iOS事件
- 4. 隱藏鍵盤
- 5. 隱藏鍵盤
- 6. 隱藏鍵盤ios
- 7. 隱藏軟鍵盤
- 8. 隱藏IOS鍵盤
- 9. 鈦 - 隱藏鍵盤
- 10. uitextfield隱藏鍵盤?
- 11. 鍵盤隱藏BottomSheetDialogFragment
- 12. 事件來檢測iPad默認鍵盤隱藏鍵被按下
- 13. 隱藏軟鍵盤或強制改變焦點隱藏鍵盤
- 14. UWP訂閱鍵盤輸入事件/獲取隱藏鍵盤輸入
- 15. Android鍵盤隱藏屏幕
- 16. 隱藏鍵盤/ resignFirstResponder強制
- 17. 軟鍵盤隱藏的EditText
- 18. Nativescript Android - 隱藏鍵盤
- 19. 隱藏虛擬鍵盤
- 20. iPhone - 鍵盤隱藏TextField
- 21. 隱藏鍵盤和secureTextField
- 22. 可靠隱藏軟鍵盤
- 23. UIWebView隱藏鍵盤邊距
- 24. 隱藏鍵盤和按鈕
- 25. Android軟鍵盤隱藏RecyclerView
- 26. TextView與鍵盤隱藏
- 27. Android - 鍵盤隱藏editText
- 28. 用dismissViewControllerAnimated隱藏鍵盤
- 29. 隱藏軟鍵盤問題
- 30. 如何隱藏軟鍵盤?
我可能弄錯了,但是如何隱藏鍵盤然後讓EditText不可見? – banzai86
@ banzai86是的,這就是想要做的。 –