Android键盘第二次点击时覆盖EditText

6

我在活动的底部有一个EditText。

第一次点击时会出现键盘,整个布局向上移动以使EditText可见并输入内容。

当我使用DONE按钮关闭键盘后再次点击EditText时,布局不会移动,且EditText被键盘完全覆盖。

我尝试了ScrollView、AdjustResize和AdjustPan,但都没有改变这种情况。

            <com.mypackage.widget.CEditText
                android:id="@+id/myETid"
                android:layout_width="@dimen/edittext_medium_width"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:background="@drawable/background_edittext"
                android:gravity="center_horizontal"
                android:inputType="number"
                android:maxLength="14"
                android:padding="@dimen/activity_smargin"
                android:singleLine="true"
                android:textColor="@android:color/black"
                android:textSize="@dimen/font_midcommon_size"
                app:typeface="@string/commonFontRegular" />

这是我定制的EditText(它只是扩展了标准EditText以管理TypeFace)。
    <activity
        android:name=".gui.activity.MyActivity"
        android:label="@string/activity_name"
        android:windowSoftInputMode="stateHidden|adjustPan"
        android:screenOrientation="landscape" >
    </activity>

这是我的AndroidManifest中的Activity条目。
有什么想法吗?

2
你试过使用android:windowSoftInputMode="adjustPan"吗? - Aitor Ramos Pajares
是的,我尝试过使用android:windowSoftInputMode="adjustPan"和android:windowSoftInputMode="adjustResize"。无论是在Edittext xml中还是在AndroidManifest中,都没有解决问题。 - Michele Cassani
4
@MicheleCassani,你能找到解决方法吗?我也遇到了同样的问题,但好像找不到解决方法,谢谢。 - ahmad
@ahmad 我也遇到了同样的问题。你找到解决方案了吗? - glo
对我来说,这只发生在某些设备上,不取决于具体的Android版本,而是由屏幕上的软按键引起的。 - Moritz Both
1个回答

6
您在.xml文件中设置了“gravity”,这就是问题所在。 但我不知道为什么。这似乎是Android的一个错误,只需删除那一行即可。

1
确实,这样“解决”了问题,但现在我的文本不再居中了。我必须承认我觉得这很不可能,但还是尝试了一下,结果奏效了。谢谢! - Moritz Both
根据你的提示,我已经完成了以下操作:在第二次使用TextEdit时,将gravity设置为none,将左侧padding设置为其宽度的一半,以模拟居中的空文本控件外观。添加TextListener以检测输入文本,并将gravity和padding设置回原始值。这对我有效,但这是一个巨大的hack。 - Moritz Both
奇怪但有效 - Nilabja
如果我们需要文本居中呢? - Borja

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接