2 linxi7 linxi7 于 2016.03.05 08:46 提问

EditText怎样取消聚焦,让用户点击的时候才出现软键盘

各位大神好,我做的一个小app界面,主界面用EditText获取用户输入qq号码,我运行的时候一进入界面就会直接弹出数字键盘,这样体验很不好。怎样让进入的时候不聚焦EditText,等玩家点击输入框的时候才弹出软键盘呢?我初学android开发,感激各位大神解答。

3个回答

u013596119
u013596119   Rxr 2016.03.05 08:52

贴一下代码吧,正常情况应该是点击才出现键盘的,可能多设定了什么

u013596119
u013596119 找个别的控件设置:android:focusable="true" android:focusableInTouchMode="true"
2 年多之前 回复
linxi7
linxi7 就是一些普通的属性设置,每次跑起来之后就立马出现软键盘让我输入数字了。真机和模拟器上都是这样
2 年多之前 回复
linxi7
linxi7 <EditText android:id="@+id/qqnumber" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="请输入QQ号码" android:inputType="number" android:textColor="#FFFFFF" android:textSize="18sp" />
2 年多之前 回复
linxi7
linxi7 <EditText android:id="@+id/qqnumber" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="请输入QQ号码" android:inputType="number" android:textColor="#FFFFFF" android:textSize="18sp" />
2 年多之前 回复
linxi7
linxi7 <EditText android:id="@+id/qqnumber" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:hint="请输入QQ号码" android:inputType="number" android:textColor="#FFFFFF" android:textSize="18sp" />
2 年多之前 回复
Magiceternal
Magiceternal   2016.03.05 08:58

设置默认不获得焦点。

j550341130
j550341130   2016.03.05 14:24

在该界面最外层添加一个专门截取焦点的控件:

     <TextView
        android:id="@+id/qxjd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

然后在Activity中添加:

        TextView aa = (TextView) findViewById(R.id.qxjd);
        aa.setFocusable(true);
        aa.setFocusableInTouchMode(true);
        aa.requestFocus();

属性缺一不可。

j550341130
j550341130 回复linxi7: 这些属性是设置TextView的,在界面中添加一个TextView获取焦点,让你的EditText获取不到焦点
2 年多之前 回复
linxi7
linxi7 回复叽哩叽哩鸡: 我的EditText中没有Focus这些属性的。
2 年多之前 回复
j550341130
j550341130 另外也要注意在你的EditText中删掉 <Request Focus/>
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
EditText默认无法获取焦点,必须点击一次才能获取焦点打开软键盘的解决办法
private EditText inputView;inputView = (EditText) findViewById(R.id.inputView);//获取焦点防止点击一次才能打开软键盘inputView.setFocusable(true);inputView.setFocusableInTouchMode(true);inputView.requestFocus();showSoft
Android--点击EditText的时候弹出软键盘,点击EditText之外空白处软键盘消失
在android中点击EditText的时候会弹出软键盘,但当我们输入完毕或者想隐藏软键盘时,我们可以点击软键盘上的隐藏按钮,这种方法固然可行,但是为了提高用户体验,我们常常要实现这种功能:当输入完毕后想隐藏软键盘时我们通过直接点击EditText的之外的其他空白处就可以隐藏软键盘,这种做法明显比点击软键盘自身的隐藏按钮要方便的多。 要实现上述功能只需重写 public boolean onTo
EditText获取焦点并弹出软键盘
首先让EditText获取焦点 第一种方法:布局中处理              <EditText android:id="@+id/edt_detail_address" android:layout_width="wrap_content"
android edittext 点击两次才弹出输入法的解决方法之一
editText: 据说第一次是编辑框焦点,第二次才是点击事件,输入法软键盘才会弹出. 既然这样, 那就调用代码调用两次点击事件.算是一种解决方法. holder.editText.setVisibility(View.VISIBLE);holder.editText.requestFocus(); holder.editText.callOnClick();holder.editText.c
Android软键盘手动显示、隐藏、布局上移和EditText上移Demo
Android软键盘手动显示、隐藏、布局上移和EditText上移Demo
1EditText初始不弹出软键盘,只有光标显示,点击再弹出;2android:imeOptions
博客源址:EditText初始不弹出软键盘,只有光标显示,点击再弹出 博客时间:2013-06-08 10:13  刚进来的时候,不弹出键盘,EditText 有个光标上面闪,证明是可编辑的,这个还是符合用户习惯的,从用户体验的角度上讲,还保留光标的闪动是好的。 解决方法1:(已经试过,证明可以) 在activity属性中设置 android:windowSo
Android 设置Edittext获取焦点并弹出软键盘
Android 设置Edittext获取焦点并弹出软键盘editTex.setFocusable(true); editTex.setFocusableInTouchMode(true); editTex.requestFocus(); activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_
Android 获取EditText焦点后自动弹出软键盘
有时候我们跳转到某些页面时,希望能马上获取特定TextView的焦点并弹出软键盘 editText.setFocusable(true); editText.requestFocus(); InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);...
EditText失去焦点,收起软键盘
目标:点击EditText之外的区域,收起键盘,并且让EditText失去焦点。 使用到的技术: view.getLocationInWindow , event.getX()和event.getRawX()的区别, 失去焦点前提是不能让editText成为布局中唯一一个可获取焦点的控件
点击页面其他地方取消EditText的焦点并且隐藏软键盘的方法
代码如下://mContentView是整个页面,tv_ps_username是edittext mContentView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {