Android material 设计:移除提示动画

Android material design: remove hint animation

我正在构建一个应用 AutoCompleteTextView,使用非物质设计 AppCompat。我需要删除该组件具有的提示动画,当您点击该字段并且提示以流畅的动画上升时。有什么办法可以去掉这个动画吗?

我的布局:

</p> <p></p> <pre><code><!-- Login progress --> <ProgressBar android:id="@+id/login_progress" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:visibility="gone" /> <LinearLayout android:id="@+id/login_form" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/email_login_form" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <AutoCompleteTextView android:id="@+id/email" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/prompt_email" android:inputType="textEmailAddress" android:maxLines="1" android:singleLine="true" android:theme="@style/AutoCompleteTextViewListasVipHolo" /> </android.support.design.widget.TextInputLayout> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/password" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/prompt_password" android:imeActionId="@+id/login" android:imeActionLabel="@string/action_sign_in_short" android:imeOptions="actionUnspecified" android:inputType="textPassword" android:maxLines="1" android:singleLine="true" /> </android.support.design.widget.TextInputLayout> <Button android:id="@+id/email_sign_in_button" style="?android:textAppearanceSmall" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="@string/action_sign_in" android:textStyle="bold" /> <Button android:id="@+id/register_button" style="?android:textAppearanceSmall" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="@string/action_register" android:textStyle="bold" /> </LinearLayout> </LinearLayout>

我不想失去自动完成功能。

如果您想删除浮动标签,请删除 TextInputLayout 环绕您的 AutoCompleteTextView。这将删除浮动标签功能。

如果您想要浮动标签,但禁用动画,那么借助支持设计库 v23,您可以在代码中使用 textInputLayout.setHintAnimationEnabled(false);

app:hintAnimationEnabled="true"作为XML中TextInputLayout的参数。

可以通过执行以下步骤以编程方式轻松完成。

  1. 将 textInputLayout 的提示设置为 null
textInputLayout.setHint(null);
  1. 将 TextInputEditText 的 提示设置为您的提示文本
EditText editText = textInputLayout.getEditText();
editText.setHint("your hint text");