1

我以前从未见过这种情况。我有一个具有动画背景的简单自定义视图,在该视图之上,我实现了标准的 Android 视图集。TextViews、EditTexts、ImageViews 等...

当软键盘启动并且我正在输入信息时,一切正常。当键盘被隐藏时,视图会变得混乱。有人见过这个吗?它发生在 Galaxy Nexus S 上,所有代码都是标准实现。任何设置或我缺少的东西?我试过 View.invalidate 没有运气。解决这个问题的唯一方法是重新加载视图——我觉得这很烦人!

这是我称之为“注册”的视图的代码。

<?xml version="1.0" encoding="utf-8"?>

<!-- Intended for logging in or creating an account -->

<ImageView 
    android:id="@+id/fillininfo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scaleType="centerInside"
    android:background="@null"
    android:src="@drawable/friends_enroll_fillininfo"
/>

<ImageView 
    android:id="@+id/name"
    android:layout_below="@id/fillininfo"
    android:layout_width="wrap_content"
    android:layout_height="20dip"
    android:scaleType="centerInside"
    android:layout_centerHorizontal="true"
    android:background="@null"
    android:src="@drawable/name"
/>

<EditText
    android:id="@+id/friends_enroll_name"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:layout_below="@id/name"
    android:hint="A name you go by..."
    android:inputType="textPersonName|textCapWords"
    android:gravity="center"
    android:textSize="16sp"
    android:maxLines="1"
    android:lines="1"
    android:singleLine="true"
    android:textColor="@color/white"
    android:textColorHighlight="@color/white"
    android:textColorHint="@color/white"
    android:textColorLink="@color/white"
    android:background="@drawable/textbox_background"

/>

<ImageView 
    android:id="@+id/email"
    android:layout_below="@id/friends_enroll_name"
    android:layout_width="wrap_content"
    android:layout_height="20dip"
    android:scaleType="centerInside"
    android:layout_centerHorizontal="true"
    android:background="@null"
    android:src="@drawable/email"
/>

<EditText
    android:id="@+id/friends_enroll_email"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_width="fill_parent"
    android:layout_height="30dip"
    android:layout_below="@id/email"
    android:hint="Your email address..."
    android:inputType="textEmailAddress"
    android:gravity="center"
    android:textSize="16sp"
    android:maxLines="1"
    android:lines="1"
    android:singleLine="true"
    android:textColor="@color/white"
    android:textColorHighlight="@color/white"
    android:textColorHint="@color/white"
    android:textColorLink="@color/white"
    android:background="@drawable/textbox_background"
/>

<RelativeLayout
    android:id="@+id/subscribed"
    android:layout_below="@id/friends_enroll_email"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_marginTop="5dip"
    android:background="@null"
>
    <TextView
        android:id="@+id/subscribed_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:background="@null"
        android:layout_centerVertical="true"
        android:text="Email updates and product offers"
    />

    <CheckBox
        android:id="@+id/friends_enroll_issubscribed"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dip"
        android:layout_toRightOf="@id/subscribed_text"
        android:checked="true"
        android:text=" "
    />

</RelativeLayout>

<ImageButton 
    android:id="@+id/send_confirmation"
    android:layout_width="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_height="40dip"
    android:layout_below="@id/subscribed"
    android:scaleType="centerInside"
    android:src="@drawable/button_send_confirmation"
    android:background="@null"
/>

<TextView 
    android:id="@+id/friends_enroll_msg"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/send_confirmation"
    android:textColor="@color/white"
    android:text=""
    android:singleLine="false"
    android:gravity="center"
    android:textSize="14sp"
/>

最小化软键盘后视图失真 - android

问候,

鲍勃

4

1 回答 1

0

我通过将布局的 XML 中的 android:imeOptions 设置为“actionDone”来回答这个问题。

软键盘假设“actionNext”导致视图向上移动扭曲视图。指定“actionDone”后,视图不再假定另一个 EditText。

于 2012-01-25T17:51:54.117 回答