当我尝试按EditText获取焦点时,它只能从中间向左移动。如果我从中间向右按下没有任何反应。
(它有width = fill_parent)。
我在Android 2.2和4.2.1上测试过。两者都有相同的行为。
为什么会发生这种情况并且可以“修复”?
这是一个Android平台错误吗?
更新
首先我认为它与在活动开始时隐藏键盘有关,但我尝试了4个选项:
添加到基础LinearLayout(检查Stop EditText from gaining focus at Activity startup)
<LinearLayout
....
android:focusable="true"
android:focusableInTouchMode="true" />
我也试过了:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
改变清单:
<activity.... android:windowSoftInputMode="adjustUnspecified|stateHidden"/>
并使用默认行为。
...都具有上述相同的行为。
答案 0 :(得分:0)
问题已更新。老答案:
删除您在线性布局xml文件中执行的操作, 并将此代码放在create方法的活动上,这样就可以防止键盘自动弹出:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
答案 1 :(得分:0)
为什么你添加了android:focusable =“true” android:focusableInTouchMode =“true”到LinearLayout?在每个LinearLayout中,焦点将放在页面加载的第一个可聚焦项目上。如果您想要焦点或其他视图,请在布局中的视图后添加标记。
答案 2 :(得分:-1)
解决了这个问题。它与EditText宽度有关。