我的布局仍然没有向上移动。

时间:2013-09-05 10:48:29

标签: android layout window-soft-input-mode

当软键盘打开时,我试图将我的布局向上移动。

我有edittext和按钮。我可以清楚地看到edittext是否打开键盘,但问题是我正在显示下载edittext。当下拉打开时,它会在edittext上打开,因为键盘和下拉列表之间没有足够的空间。

所以我试图将整个屏幕移开(只显示edittext)。因此可以在Edittext下方显示下拉列表。

我尝试跟踪事情......

  1. 我在AndroidManifest.xml

    的活动中添加了以下属性

    android:windowSoftInputMode="adjustPan"

  2. 我在.java file

  3. 中添加了以下代码

    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" />
    

    我不明白为什么我的布局没有改变。请给我任何提示或参考。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

<强>更新

我只是重新阅读你的问题,发现你正在犯的错误。您正在android:windowSoftInputMode="adjustPan"中添加AndroidManifest,以便调整或缩放键盘窗口。

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


试试这个:

<?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>