当前位置: 首页 > 知识库问答 >
问题:

动画显示窗口外的编辑文本

西门嘉石
2023-03-14

我有一个带有“搜索栏”(EditText)和列表视图的RelativeLayout:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/etSearch"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:inputType="text" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="0dp"
        android:clipToPadding="false"
        android:listSelector="@drawable/listview_selector" >
    </ListView>
</LinearLayout>

在用户“搜索”之后,我希望 EditText 以动画形式离开屏幕,并将 ListView 推送到顶部。我整理了一个非常粗糙的GIF,我需要什么:

有人知道我如何做到这一点吗?谢谢

更新

我发现了如何使EditText动画从屏幕上显示:

slide_out_top.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="0%" android:toYDelta="-100%" android:duration="600"/>
</set>

然后在EditText上使用它,如下所示:

mSlideOutTop = AnimationUtils.loadAnimation(this, R.anim.slide_out_top);
et.startAnimation(mSlideOutTop);

但是ListView仍然保持当前的高度。我想要的是当EditText动画出来时,ListView扩展到顶部。

共有1个答案

秋光熙
2023-03-14

可以给ViewGroup添加TranslateAnimation(对你来说就是LinearLayout),y轴移动距离就是editText视图的高度。然后在需要的时候触发这个动画。(更新:只是认为这种方式可能会在底部创建一个空白栏,坏主意)

我还有另一个棘手的想法。

在 ListView 中设置位置为 0 的 EditText 视图,然后只需调用 smoothScrollToPostion(1) 方法即可滚动。看到这可能帮助你顺利ScrollToPositionFromTop()并不总是像它应该的那样工作

 类似资料:
  • #include <stdio.h> void fun1(void) { int i = 0; i++; i = i * 2; printf("%d\n", i); } void fun2(void) { int j = 0; fun1(); j++; j = j

  • 我的活动有一个弹出窗口,弹出窗口有编辑文本。问题是,当我将弹出窗口设置为外部可触摸时,错误编辑文本不会在android中打开弹出窗口中的键盘,我通过在弹出窗口中提供取消按钮来关闭弹出窗口。请帮忙,谢谢。

  • 我们刚刚了解了属性帧的操作,现在来看看具体怎么创建一个帧动画。 为节点新增 Sprite 组件 首先我们需要让节点能正常显示纹理,所以需要为节点增加Sprite组件。 选中节点后在属性检查器中通过 添加组件 按钮,选择 UI -> Render -> Sprite。 在属性列表中添加 Sprite.spriteFrame 节点可以正常显示纹理后,还需要为纹理创建一个属性轨道。 在动画编辑器属性列表

  • 本章将介绍 Cocos Creator 3D 的动画系统,除了标准的位移、旋转、缩放动画和序列帧动画以外,这套动画系统还支持任意组件属性和用户自定义属性的驱动,再加上可任意编辑的时间曲线和创新的移动轨迹编辑功能,能够让内容生产人员不写一行代码就制作出细腻的各种动态效果。 注意:Cocos Creator 3D 自带的动画编辑器适用于制作一些不太复杂的、需要与逻辑进行联动的动画,例如 UI 动画。

  • 我有一个自定义背景编辑文本。当他们的键盘打开-屏幕调整显示集中编辑文本,问题是,它削减了我的自定义背景。 什么是最好的方式显示我的编辑文本包括他的敲击白背景时,键盘打开? 我的清单现在是调整设置。

  • 我不知道为什么youtue_title和youtube_description是空的???在我添加文本到这个编辑文本???我一直这样做为什么现在它不工作??? 有问题吗,因为它在弹出窗口中?