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
的参数。
可以通过执行以下步骤以编程方式轻松完成。
- 将 textInputLayout 的提示设置为 null
textInputLayout.setHint(null);
- 将 TextInputEditText 的 提示设置为您的提示文本
EditText editText = textInputLayout.getEditText();
editText.setHint("your hint text");
我正在构建一个应用 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
的参数。
可以通过执行以下步骤以编程方式轻松完成。
- 将 textInputLayout 的提示设置为 null
textInputLayout.setHint(null);
- 将 TextInputEditText 的 提示设置为您的提示文本
EditText editText = textInputLayout.getEditText();
editText.setHint("your hint text");