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

Android视图上的向上和向下动画

邬浩涆
2023-03-14

我正在制作一个飞溅屏幕,我希望图像视图像悬浮一样不断上升然后下降。这将在数据库在后台加载时发生(AsyncTask)。我尝试过动画视图,但它只在一个方向上,而且只有一次。我如何完成这件事?提前谢谢你: D

共有2个答案

濮阳振
2023-03-14

从下到上:

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

从上到下:

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

代码:

if (findViewById(R.id.llIncludeBottom).getVisibility() == View.VISIBLE) {
                    findViewById(R.id.llIncludeBottom).setVisibility(View.GONE);
                    findViewById(R.id.llIncludeBottom).setAnimation(
                            AnimationUtils.loadAnimation(this, R.anim.top_bottom));
                } else {
                    findViewById(R.id.llIncludeBottom).setVisibility(View.VISIBLE);
                    findViewById(R.id.llIncludeBottom).setAnimation(
                            AnimationUtils.loadAnimation(this, R.anim.bottom_top));
                }
朱高超
2023-03-14

我要做的是像你以前那样制作动画视图,在onAnimationEnd中有一种无限循环:

 //in onPreExecute do levitate(ivSplashLogo, 300, true)
 //in onPostExecute do levitate(ivSplashLogo, 300, false)

 public void levitate (final View movableView,final float Y,boolean animated){
   if(animated) {
        final long yourDuration = 200;
        final TimeInterpolator yourInterpolator = new DecelerateInterpolator();
        movableView.animate().
                translationYBy(Y).
                setDuration(yourDuration).
                setInterpolator(yourInterpolator).
                setListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animation) {
                        super.onAnimationEnd(animation);
                        levitate(movableView, -Y, true);
                    }
                });
    }
 }

我还没试过,但你可以试一试,告诉我

 类似资料:
  • 我有这样的看法: 我想创建简单而清晰的动画,将alpha(淡入)更改为容器顶部,从最底部(容器)为ImageView滑动。 我在stackoverflow中找到了很多解决方案,当你指定幻灯片的具体高度时。有没有一个从下到上的简单解决方案?

  • 我看了很多问题,但列出的解决方案都没有解决我的问题:Scrollview不会滚动到底部的空白处 ScrollView不会滚动到底部 (Android) ScrollView不会一直滚动到我的线性布局的底部 我有一个具有以下布局的应用程序,其中包含ScrollView中的LinearLayout 基本上,这个布局被用于一个片段。在这个片段中,我用查询网站得到的字符串为tvPowers和tvAbili

  • 我有一个动态填充的RecyclerView。 当新消息到达时,我使用此代码向下滚动到最后一个条目: 现在的问题是:如果用户已经向上滚动阅读旧消息,它不应该向下滚动。怎么才能检测出来?

  • 问题内容: 我正在尝试使用类似于JQuery 和的行为。只有我宁愿使用 我在这里查看ng-animate教程-http: //www.yearofmoo.com/2013/04/animation-in- angularjs.html , 我可以在提供的示例中再现淡入/淡出效果。 我如何更改CSS来获得向上/向下滑动的行为?另外,如果可能的话,最好让css不知道以像素为单位的组件高度。这样,我可以

  • 本文向大家介绍Java 向上转型和向下转型的详解,包括了Java 向上转型和向下转型的详解的使用技巧和注意事项,需要的朋友参考一下  Java 向上转型和向下转型的详解 转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展。 向上转型:子类引用的对象转换为父类类型称为向上转型。通

  • 我很难理解Kosaraju寻找有向图的强连通成分的算法。以下是我笔记本上的内容(我是学生:D): 从任意顶点开始(用#1标记)并执行DFS。如果无法继续,请使用#2标记上次访问的顶点,然后启动另一个DFS(跳过已标记的顶点),依此类推。 变换图形的位置。 按相反顺序执行DFS从每个顶点开始,在每个DFS之后结束访问的顶点属于同一个SCC 我举了一个例子: 从E开始的第一步后,标签为: E G K