android - 使用动画将 View 移动到屏幕顶部

标签 android android-layout android-animation android-view

我有以下布局:

layout

LinearLayout 中的三个 EditTextlayout_width = 0.33。当用户将焦点放在其中一个 EditText 上时,另外两个应该消失(也可能是动画),最后一个应该移动到屏幕顶部并显示一些动画,同时显示软键盘。结果应该是这样的:

result

没有动画的解决方案很简单:

if(focusedView == mBlueEdit) {
  mRedEdit.setVisibility(View.GONE);
  mGreenEdit.setVisibility(View.GONE);

我不知道什么时候开始(在其他 View 设置 GONE 后开始它已经太晚了)以及如何在动画开始和结束时计算 X 和 Y 位置。预先感谢您的每一个提示。

最佳答案

不确定它是否是您正在寻找的,但您可以通过简单地将 android:animateLayoutChanges="true" 添加到您的 LinearLayout 来创建自动动画。

关于android - 使用动画将 View 移动到屏幕顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26371169/

相关文章:

javascript - "Google is not defined"错误 - 尝试创建信息窗口谷歌地图

android - 多次测试订阅

java - 切换到 Activity 时出现 NullPointerException

android - 工具栏不出现android

java - 膨胀类 android.support.v7.widget.CardView 时出错

android - Activity 退出时的 RecyclerView 动画

Android:以编程方式获取设备名称

java - 如何在Android Studio中将小部件置于其他提升的小部件的前面

android - 如何在 MotionLayout 过渡期间平滑更改可绘制资源?

android - 如何将对话框窗口背景设置为透明,而不影响其边距