在写这个问题之前,我已经阅读了以下答案/文章:
> Android soft keyboard covers edittext field
> Android keyboard obscures EditText
> http://developer.android.com/resources/articles/on-screen-inputs.html
> Soft Keyboard Overlapping with EditText Field
Android软键盘默认设置为平移,这意味着它将保留键盘上方的所有可编辑区域.但是它不够泛.当我运行它并按下接近屏幕底部的edittext时,键盘出现,edittext被上移,但不足以看到正在键入的内容.我已经使用/尝试了以下内容:
> android:windowSoftInputMode =“adjustPan”在Activity的清单中.这没有什么区别.我也试过设置adjustUnspecified和adjustResize的值.他们都没有工作.
>< uses-sdk android:minSdkVersion =“3”/>在清单文件中.我的应用程序是针对sdk 2.1及以上版本的.尽管如此,我尝试过并没有奏效.
>使用ScrollView.也不行.
有没有办法手动管理当按下特定的edittext时键盘做多少“平移”.
以下是我的xml文件.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff"> <ImageView android:id="@+id/header" android:layout_width="320dip" android:layout_height="86dip" android:background="@drawable/header_bg"> </ImageView> <ImageView android:layout_width="320dip" android:layout_height="200dip" android:layout_alignParentBottom="true" android:background="@drawable/bg1_btm"> </ImageView> <TextView android:text="Hostname" android:id="@+id/lbl_hostname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/header"/> <TextView android:text="(Current)" android:id="@+id/lbl_hostname_current" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/lbl_hostname" android:layout_below="@id/header" /> <EditText android:text="EditText" android:id="@+id/editText_hostname" android:layout_below="@id/lbl_hostname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLength="25"> </EditText> <TextView android:text="Registration URL" android:id="@+id/lbl_registration" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editText_hostname" /> <TextView android:text="(Current)" android:id="@+id/lbl_registration_current" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editText_hostname" android:layout_toRightOf="@id/lbl_registration" /> <TextView android:text="http://" android:id="@+id/lbl_url_prefiz" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/lbl_registration" android:paddingTop="10dip" /> <EditText android:text="EditText" android:id="@+id/editText_registration" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf ="@id/lbl_url_prefiz" android:layout_below="@id/lbl_registration"> </EditText> <TextView android:text="Chat" android:id="@+id/lbl_chat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editText_registration"/> <TextView android:text="(Current)" android:id="@+id/lbl_chat_current" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editText_registration" android:layout_toRightOf="@id/lbl_chat"/> <EditText android:text="EditText" android:id="@+id/editText_chat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/lbl_chat"> </EditText> <TextView android:text="SSID" android:id="@+id/lbl_ssid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editText_chat" /> <TextView android:text="(Current)" android:id="@+id/lbl_ssid_current" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editText_chat" android:layout_toRightOf="@id/lbl_ssid" /> <EditText android:text="EditText" android:id="@+id/editText_ssid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/lbl_ssid" android:maxLines="1" android:inputType="text" android:layout_marginBottom="25dip"> </EditText> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ButtonSave" android:text="Save" android:layout_below="@id/editText_ssid" android:layout_alignParentLeft="true"> </Button> <Button android:text="Continue" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/ButtonContinue" android:layout_below="@id/editText_ssid" android:layout_alignParentRight="true"> </Button> </RelativeLayout>
解决方法
尝试
android:windowSoftInputMode="adjustResize"
为我工作很好:)