软键盘覆盖文本编辑框...通常的修复不起作用

时间:2013-06-24 16:23:26

标签: android android-softkeyboard

我知道有几个关于这个问题的帖子,但是我浏览了几页谷歌搜索结果并没有找到适用于我的情况的答案(令人惊讶的是)。

在你给我一些共同的答案之前......我已经尝试将清单改为

android:windowSoftInputMode="adjustResize"
android:windowSoftInputMode="adjustPan"

几乎所有可用选项的组合......没有一个足以满足我的需求。 “adjustResize”将我活动底部的所有内容移动起来......这是无效的,因为我在编辑文本下面有更多的东西,而“adjustPan”什么都不做。

我也尝试添加滚动视图,但这也没有解决问题。是的,我可以滚动查看打开键盘的edittext,但这不是用户友好的。

我对这两种解决方案中的任何一种都很满意:

  1. 让软键盘完全对齐我正在使用的编辑文本框(理想解决方案)或
  2. 让软键盘在横向模式下运行并填充整个屏幕,同时允许我查看我正在键入的文本。
  3. 这是我的xml:     

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="fill_parent"
        android:layout_height="75dp"
        android:layout_marginTop="20dp"
        android:layout_alignParentTop="true"
        android:contentDescription="@string/desc_logo"
        android:src="@drawable/ccap_logo" />
    
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/imageView1"
        android:background="@drawable/home_background" >
    
        <TextView
            android:id="@+id/txtLastName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="24dp"
            android:layout_marginRight="24dp"
            android:layout_marginTop="24dp"
            android:text="@string/login_lastname"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <EditText
            android:id="@+id/etxtLastName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="24dp"
            android:layout_marginRight="24dp"
            android:layout_below="@+id/txtLastName"
            android:inputType="text" />
    
        <TextView
            android:id="@+id/txtEmail"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/etxtLastName"
            android:layout_marginLeft="24dp"
            android:layout_marginRight="24dp"
            android:text="@string/login_email"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <EditText
            android:id="@+id/etxtEmail"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="24dp"
            android:layout_marginRight="24dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/txtEmail"
            android:inputType="textEmailAddress" />
    
        <Button
            android:id="@+id/btnSubmit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/etxtEmail"
            android:layout_marginTop="24dp"
            android:text="@string/login_submit"
            android:onClick="submitOnClick" />
    
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true"
            android:text="@string/login_trouble"
            android:textColor="#FFFFFF"
            android:clickable="true"
            android:onClick="emailCCAP"
            android:textAppearance="?android:attr/textAppearanceSmall" />
    
    </RelativeLayout>
    

1 个答案:

答案 0 :(得分:0)

您可能已将活动设置为以全屏模式启动。 adjustPan | adjustResize在全屏模式下不起作用。