每次点击TextView
并打开软输入键盘时,我都会EditText
继续移动。 EditText
位于页面底部。我想要它,以便当键盘出现时我所拥有的TextView
不会移动。就我而言,TextView
被称为No comments to display.
以下是点击我的EditText
最初,TextView
包含在下面较浅的灰色区域内,但是当我点击EditText
时,它会被向上推。这是我的代码:
public class Comments extends AppCompatActivity {
private TextView noCommentsView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.comments);
EditText comment = (EditText) findViewById(R.id.write_comment);
TextView noCommentsView = (TextView) findViewById(R.id.no_comments_text);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
noCommentsView.setVisibility(View.VISIBLE);
}
}
现在我知道adjustResize
只是推动了一切,这就是TextView
被推高的原因。但是,我希望它能让TextView
保持原状。我曾尝试使用getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
这实现了我的目标,但EditText
不随键盘移动,因为整个布局未调整。有没有办法解决?有没有办法提升EditText
,但没有TextView
向上移动?谢谢!
答案 0 :(得分:4)
将getWindow()
方法置于setContentView()
之上。或者从代码中删除getWindow()
方法,并在清单文件中添加android:windowSoftInputMode="adjustResize|stateHidden"
。
答案 1 :(得分:1)
on AndroidManifest.xml
添加:android:windowSoftInputMode="stateVisible|adjustResize"
这对你有用吗? 祝这个项目好运:))
答案 2 :(得分:0)
checkout THIS帖子。最重要的可能是行
android:windowSoftInputMode="adjustPan"
约adjustPan
活动的主窗口未调整大小以便为软键盘腾出空间。而是自动平移窗口内容,以便键盘不会遮挡当前焦点,用户可以随时看看他们在打字什么。这通常不如调整大小,因为用户可能需要关闭软键盘才能进入并与窗口的模糊部分进行交互。
有关其他选项/标志的更多信息HERE
答案 3 :(得分:0)
机器人:windowSoftInputMode = “adjustPan | stateHidden”
答案 4 :(得分:0)
在android Manifest中,添加以下行:
机器人:windowSoftInputMode = “stateHidden | adjustPan”。 adjustPan说:
活动的主窗口未调整大小以便为软键盘腾出空间。相反,窗口的内容会自动平移,以便键盘不会遮挡当前焦点,用户可以随时看到他们正在键入的内容。这通常不如调整大小,因为用户可能需要关闭软键盘才能进入并与窗口的模糊部分进行交互。
来源:http://developer.android.com/guide/topics/manifest/activity-element.html