我的页面中有一个编辑文本,我需要调整屏幕以显示输入的值。
我的页面中有操作栏,我已经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" />
答案 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是否有帮助