Android:EditText隐藏在键盘后面

时间:2011-06-24 20:27:25

标签: android keyboard hide android-edittext hidden

在写这个问题之前,我已经阅读了以下答案/文章:

  1. Android soft keyboard covers edittext field
  2. Android keyboard obscures EditText
  3. http://developer.android.com/resources/articles/on-screen-inputs.html
  4. Soft Keyboard Overlapping with EditText Field
  5. Android软键盘默认设置为平移,这意味着它将保持键盘上方的所有可编辑区域。但是它没有足够。当我运行它并按下靠近屏幕底部的edittext时,键盘出现并且edittext向上移动但不足以查看其中键入的内容。我使用过/试过以下内容:

      活动清单中的
    1. android:windowSoftInputMode="adjustPan"。这没有任何区别。我也尝试过设置adjustUnspecifiedadjustResize的值。它们都不起作用。

    2. 清单文件中的
    3. <uses-sdk android:minSdkVersion="3" />。我的应用程序针对sdk 2.1及更高版本。尽管如此,我尝试了它并且没有用。

    4. 使用ScrollView。也不起作用。

    5. 有没有办法手动管理按下特定编辑文本时键盘执行的“平移”次数。

      下面是我的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>
      

2 个答案:

答案 0 :(得分:8)

尝试

android:windowSoftInputMode="adjustResize"  

对我来说很好。:)

答案 1 :(得分:5)

尝试使用fill_parent或match_parent设置所有控件布局高度和宽度...而不是使用硬编码值...

如果您使用此功能,也会将其删除,因为它可能会向下推送您的应用...

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

希望它有效......