android:windowSoftInputMode=“adjustPan"不管用
- 作者: 和女朋友分手后重回段子圈
- 来源: 51数据库
- 2023-02-09
问题描述
我有一个愚蠢的问题,请按照下面的图片进行操作
I have silly problem please follow the below pics
当我点击输入电子邮件时,它看到如下图,
And when i clicked on Enter Email it saw like below pic,
尽管使用 android:windowSoftInputMode="adjustPan" android Lollipop 主题和工具栏,问题还是出现了,
Now the problems are coming inspite of using android:windowSoftInputMode="adjustPan" android Lollipop theme and toolbar,
- 图片变小了.
- 电子邮件编辑文本应该显示在键盘上方,但它没有.
提出一些解决方案.
推荐答案
首先确保您在 xml 布局中提供了 ScrollView.
First of all make sure you have provided a ScrollView in your xml layout.
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > ... ... </ScrollView>
然后在你的 activity 中确保你正在做这样的事情(这段代码只是为了演示在哪里使用 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);代码>):
Then inside your activity make sure you are doing something like this(this code is just to demonstrate where to use getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);) :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.temp);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
final EditText time = (EditText)findViewById(R.id.timeET);
time.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
time.requestLayout();
MyActivity.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED);
return false;
}
});
final EditText date = (EditText)findViewById(R.id.dateET);
date.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
date.requestLayout();
MyActivity.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED);
return false;
}
});
}
