【问题标题】:EditText hint visibile while transition转换时 EditText 提示可见
【发布时间】:2016-03-30 02:48:33
【问题描述】:

在我的应用中,我使用的是 Android Activity Slide 过渡。我关注了a nice tutorial,一切正常,除了我的EditText 的提示,它包含在InputTextLayout 中:

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/activity_vertical_margin">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:hint="Your name"/>
</android.support.design.widget.TextInputLayout>

所有组件的动画效果都很好,但提示只是在动画开始之前弹出并保持在最终位置。我是否也必须添加一些额外的代码来告诉框架为提示设置动画?

根据the Android developer documentation,它应该可以工作(或者至少它不是不受支持的)。

我使用的是支持设计库的 22.2 版。

如果有人能指出我正确的方向,那就太好了。

【问题讨论】:

  • 在 Android 5.1.1 和支持库版本 23.1.1 上仍然注意到相同的情况。有人找到解决方案了吗?
  • 在支持库 24 中未修复 :(

标签: android android-transitions android-textinputlayout


【解决方案1】:

试试这个解决方案,它对我有用:

当你有 >1 个 TextInputLayouts 时,将 TextInputLayouts 放入一个容器中

inputTextPanel : LinearLayout
  TextInputLayout
    login : EditText
  TextInputLayout
    password : EditText

在 onCreateView 中:

setContentView(R.layout.login_layout)
configuration(fromSdk = 21) {
    inputTextPanel.isTransitionGroup = true
}

如果你只有一个,你就可以

myTextInputLayout.isTransitionGroup = true

【讨论】:

  • 感谢您提供出色的解决方案。为简单起见,您还可以在 xml 中添加 android:transitionGroup="true"。只需添加到每个 TextInputLayout 以避免添加额外的 LinearLayout 嵌套。
【解决方案2】:

这是一个错误。我一直在寻找解决办法。我使用的解决方法是在动画之前将edittext的提示设置为空,并在动画完成后设置edittext提示。但我不知道那是不是你想做的。

【讨论】:

  • 这是一种解决方法,但在材料设计指南的意义上也不是很好的动画。我认为我们必须等待官方修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-17
  • 1970-01-01
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多