android:windowSoftInputMode ="adjustPan"不起作用

exc*_*ion 10 keyboard android

我有愚蠢的问题请按照下面的图片

在此输入图像描述

当我点击输入电子邮件时,它看到如下图所示,

在此输入图像描述

现在问题来了,尽管使用android:windowSoftInputMode ="adjustPan" android Lollipop主题和工具栏,

  1. 图像变小了.
  2. 电子邮件edittext应该显示在键盘上方,但它没有.

建议一些解决方案.

Sas*_*_KP 10

首先确保您已ScrollView在xml布局中提供了一个.

<?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>
Run Code Online (Sandbox Code Playgroud)

然后在你的内部activity确保你正在做这样的事情(这段代码只是为了演示在哪里使用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;
        }
    });
     }
Run Code Online (Sandbox Code Playgroud)


Ake*_*Jha 7

configChanges在清单中设置属性如下

<activity
    android:name="com.xyz.activityName"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"/>
Run Code Online (Sandbox Code Playgroud)

无需在adjustPan任何地方添加- 既不在清单中,也不在个人视图中,也不以编程方式添加。

它永远不会让输入字段隐藏在软键盘后面。