Android键盘覆盖编辑文本

时间:2013-12-02 05:56:26

标签: android

我的页面中有一个编辑文本,我需要调整屏幕以显示输入的值。

我的页面中有操作栏,我已经android:windowSoftInputMode="adjustPan|stateAlwaysHidden"

当我运行应用程序时,我会触摸我的编辑文本并弹出键盘。编辑文本现在位于键盘顶部,这是正确的。但是当我开始输入时,这个编辑文字会从键盘上下来。

这并非在所有设备中都会发生。在三星S3中它有这个问题。怎么解决这个?请帮帮我。

编辑:

我的编辑分机代码如下:

<EditText
            android:id="@+id/name"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_below="@+id/empId"
            android:layout_marginTop="10dp"
            android:ellipsize="end"
            android:hint="@string/name"
            android:inputType="text"
            android:maxLines="1"
            android:padding="5dp"
            android:textColor="@android:color/black" />

1 个答案:

答案 0 :(得分:0)

我有类似的问题。我做的是,在这个

的根布局下面添加了一个线性布局
  <LinearLayout
        android:orientation="vertical"
        android:id="@+id/footer_for_emoticons"
        android:layout_width="match_parent"
        android:layout_height="@dimen/keyboard_height"
        android:visibility="gone" >
    </LinearLayout> 

然后在活动中

activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(
                new OnGlobalLayoutListener() {
                    @Override
                    public void onGlobalLayout() {
                        Rect r = new Rect();
                        activityRootView.getWindowVisibleDisplayFrame(r);

                        int heightDiff = activityRootView.getRootView()
                                .getHeight() - (r.bottom - r.top);
                        if (lastDiff == heightDiff)
                            return;
                        lastDiff = heightDiff;
                        Log.i("aerfin","arefin "+lastDiff);
                        if (heightDiff > 100) { //Assume keyboard is present 
                            emoticonsCover.setVisibility( View.VISIBLE );
                            flag2 = 0;
                        } else {
                            if (flag == false)
                                flag2 = 1;
                               emoticonsCover.setVisibility( View.GONE );
                        }
                    }
                });

线性布局将提供差距并在清单中添加android:windowSoftInputMode =“adjustPan”到activity.Check是否有帮助