我已经注意到了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是的,这就是想要做的。 –