-1

当软键盘打开时,我正在尝试向上移动布局。

我有edittext和按钮。无论键盘是否打开,我都可以清楚地看到edittext,但问题是我正在显示edittext的下拉菜单。当下拉打开时,它会在edittext 顶部打开,因为键盘和下拉菜单之间没有足够的空间。

所以我试图将我的整个屏幕向上移动(只会显示edittext)。因此可以在 Edittext 下方显示下拉菜单。

我尝试关注事情......

  1. 我在我的活动中添加以下属性AndroidManifest.xml

    android:windowSoftInputMode="adjustPan"

  2. 我在我的添加以下代码.java file

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)

我在某处读到我需要使用相对布局。我也尝试过这个,但它们都没有帮助。

这是我的xml代码供您参考。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="#EFEFEF"
 >

<ViewStub
    android:id="@+id/vsHeader2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inflatedId="@+id/header"
    android:layout="@layout/copyofheader" />



        <TextView
            android:id="@+id/firstPara"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="56dip"
            android:paddingLeft="12dp"
            android:paddingRight="12dp"
            android:text=""
            android:textSize="16sp" />

        <TextView
            android:id="@+id/secondPara"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/firstPara"
            android:layout_marginTop="24dip"
            android:paddingLeft="12dp"
            android:paddingRight="12dp"
            android:text=""
            android:textColor="#666666"
            android:textSize="16sp" />

         <AutoCompleteTextView
            android:id="@+id/mysecondautocomplete"
            android:layout_width="fill_parent"
            android:layout_height="40dip"
            android:layout_below="@id/secondPara"
            android:layout_marginLeft="12dip"
            android:layout_marginRight="12dip"
            android:layout_marginTop="12dip"                
             android:ems="10"

             android:dropDownVerticalOffset="44dip"
             android:windowSoftInputMode="stateHidden"
             android:dropDownHeight="290dip"    
              android:imeOptions="actionSearch"
            android:drawableLeft="@drawable/search_grey"
            android:background="@drawable/borderforloginedittext"
            android:drawablePadding="6dip"
            android:hint="Enter Restaurant Name"
            android:inputType="textPersonName"
             android:dropDownWidth="match_parent"
            android:textColor="#cc3333"
            android:textColorHint="#999999"
            android:textSize="16sp" />

我不明白为什么我的布局没有向上移动。请给我任何提示或参考。

4

2 回答 2

0

更新:

我刚刚重新阅读了您的问题,发现了您所犯的错误。您正在添加android:windowSoftInputMode="adjustPan"用于AndroidManifest调整键盘窗口的大小或缩放。

您应该使用android:windowSoftInputMode="adjustResize"which 将调整窗口大小或相应地调整窗口。


尝试这个:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
>

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="fill_parent"
  android:background="#EFEFEF"
 >

<ViewStub
android:id="@+id/vsHeader2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inflatedId="@+id/header"
android:layout="@layout/copyofheader" />



    <TextView
        android:id="@+id/firstPara"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="56dip"
        android:paddingLeft="12dp"
        android:paddingRight="12dp"
        android:text=""
        android:textSize="16sp" />

    <TextView
        android:id="@+id/secondPara"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/firstPara"
        android:layout_marginTop="24dip"
        android:paddingLeft="12dp"
        android:paddingRight="12dp"
        android:text=""
        android:textColor="#666666"
        android:textSize="16sp" />

     <AutoCompleteTextView
        android:id="@+id/mysecondautocomplete"
        android:layout_width="fill_parent"
        android:layout_height="40dip"
        android:layout_below="@id/secondPara"
        android:layout_marginLeft="12dip"
        android:layout_marginRight="12dip"
        android:layout_marginTop="12dip"                
         android:ems="10"

         android:dropDownVerticalOffset="44dip"
         android:windowSoftInputMode="stateHidden"
         android:dropDownHeight="290dip"    
          android:imeOptions="actionSearch"
        android:drawableLeft="@drawable/search_grey"
        android:background="@drawable/borderforloginedittext"
        android:drawablePadding="6dip"
        android:hint="Enter Restaurant Name"
        android:inputType="textPersonName"
         android:dropDownWidth="match_parent"
        android:textColor="#cc3333"
        android:textColorHint="#999999"
        android:textSize="16sp" />
    </RelativeLayout>
  </ScrollView>
</RelativeLayout>
于 2013-09-05T11:47:45.990 回答
0

将您的整个布局放在 Scrollview 中。因此,当软键盘打开时,您的视图将相应调整。

于 2013-09-05T11:23:03.417 回答