标签: android-animation

以编程方式调整布局大小(作为动画)

我想在Activity中调整一些布局的大小.

这是主XML的代码:

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

    <LinearLayout
        android:id="@+id/top"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:background="#3ee3e3" >
    </LinearLayout>

    <LinearLayout
        android:id="@+id/middle"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1">
    </LinearLayout>

    <LinearLayout
        android:id="@+id/bottom"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:background="#fe51e6" >
    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

如您所见,顶部和底部布局高度为0,中间布局覆盖所有位置.

我想以编程方式减少中间布局大小,同时增加顶部和底部布局大小,直到所有布局具有相同的高度.

我希望它看起来像一个动画.

我该怎么办?

谢谢

layout animation android android-animation

44
推荐指数
2
解决办法
5万
查看次数

在Android动画中,pivotX和pivotY的含义是什么?

这两个术语出现在很多地方,但它们在Android动画的背景下究竟是什么意思呢?

android android-animation

43
推荐指数
1
解决办法
3万
查看次数

禁用从纵向到横向的默认动画

我有一个带有几个"正常"活动的应用程序,可以在横向或纵向上运行.它们专为肖像而设计.

这个应用程序有一个单独的活动,使用相机,并锁定在景观.我通过将图像和文本旋转90度来模拟'此活动是在肖像上,所以它看起来像其他活动.

在某些设备上,例如Samsung Galaxy Tab 7和Galaxy S3,从正常的纵向活动到相机横向活动并返回时,会显示旋转动画.这对用户来说很困惑,因为景观活动模拟了肖像.

有没有办法删除这个旋转动画?理想情况下,我想更改为默认的纵向到纵向动画,但只是删除旋转动画就足够了.

我试过了

overridePendingTransition(0, 0);
Run Code Online (Sandbox Code Playgroud)

该方法的其他变体没有成功.

[添加]

根据@igalarzab,@ Georg和@Joe的建议,我做到了这一点(仍然没有运气):

  • 向Manifest添加了android:configChanges ="orientation | screenSize"
  • 添加了onConfigurationChanged
  • 创建了一个虚拟动画,它什么都不做,并添加了overridePendingTransition(R.anim.nothing,R.anim.nothing);

我有这些结果:

  • 仅在旋转相同的活动时调用onConfigurationChanged(纵向上的活动A - 横向上的活动A).但是从纵向上的活动A - >景观上的活动B开始时不会调用它
  • 这会阻止Activity在旋转时重新启动,但它没有删除旋转动画(在Galaxy S3,Galaxy Nexus,Galaxy Tab 7.0和Galaxy Tab 10.1上测试)
  • overridePendingTransition(R.anim.nothing,R.anim.nothing); 删除了正常过渡(纵向 - >纵向和横向 - >横向)但它没有删除旋转动画(纵向 - >横向,反之亦然).

[视频]

我上传了一个显示我要禁用的动画的视频.当在肖像上按住手机时从相机活动(锁定到风景)更改为其他活动时会发生这种情况:

http://youtu.be/T79Q1P_5_Ck

android android-animation android-layout

42
推荐指数
2
解决办法
1万
查看次数

animateLayoutChanges与嵌套布局不兼容?

我有一个嵌套的布局,如下所示:

 <LinearLayout>     <!----Parent layout--->
    <LinearLayout>    <!-----child 1--->
       ...
    </LinearLayout>   <!----child 1 ended--->
    <LinearLayout>    <!-----child 2--->
       ...
    </LinearLayout>   <!----child 2 ended--->
 </LinearLayout>    <!----Parent endded--->
Run Code Online (Sandbox Code Playgroud)

我现在遇到的问题是,由于我的所有数据项都在子项1或子项2中Linearlayout,如果我添加或删除项目,子行为布局将使用animateLayoutChanges的效果进行动画处理,但父布局不会执行任何动画.(我已android:animateLayoutChanges设置true为所有线性布局).特别是当我删除子1中的项目时,动画效果变得怪异(基本上,当孩子1仍然在做动画时,孩子2会跳起来).

有谁知道如何解决这个问题?

谢谢

UPDATE

在我发布这个问题后不久,我在LayoutTransition API的android开发者网站上发现了这个问题.

由于各种布局级别的相互关系,在嵌套视图层次结构的多个级别使用LayoutTransition可能不起作用.

那么有没有人有任何关于这个问题的建议呢?

android android-animation android-layout

42
推荐指数
4
解决办法
2万
查看次数

检测ValueAnimator何时完成

现在我通过检查进度何时达到100来检测我的ValueAnimator的结束...

//Setup the animation
ValueAnimator anim = ValueAnimator.ofInt(progress, seekBar.getMax());

//Set the duration

anim.setDuration(Utility.setAnimationDuration(progress));

anim.addUpdateListener(new AnimatorUpdateListener() 
{

    @Override
    public void onAnimationUpdate(ValueAnimator animation) 
    {
        int animProgress = (Integer) animation.getAnimatedValue();

        if ( animProgress == 100)
        {
            //Done
        }

        else
        {
            seekBar.setProgress(animProgress);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?我阅读了文档,但在完成时无法找到任何类型的监听器或回调.我试过使用,isRunning()但它没有用.

android android-animation

41
推荐指数
2
解决办法
2万
查看次数

如何使用android活动过渡动画浮动动作按钮?

我计划在我的一个项目中实现这样的东西,但我不清楚以下概念,也没有这样的教程,而且你不经常看到这个.这是它的样子点击这里去源

在此输入图像描述

从我所理解的所有参考文献中他们已经使用了两种类型的过渡,一种是将按钮移动到一些现存的按钮,另一种是用于触发按钮.所以我做了一些挖掘并遇到了这两个库github我认为这两个我们可以实现以下动画这里是链接

材质动画(移动按钮)和 圆形显示(使按钮看起来像爆炸)

如果您对以下内容有任何更好的答案,请在此发布

android android-animation android-transitions

41
推荐指数
2
解决办法
4万
查看次数

使用动画展开ListView项

我有一个ListView.最初,它ListView包含一些数据.当用户点击某个项目时,另一个布局将动态添加到该项目中,因此它的高度将会增加.

现在,当项目的高度增加时,它会立即显示修改后的项目.但是,我想要的是动画,所以逐渐增加项目的高度.

android expandablelistview expandablelistadapter android-animation android-listview

38
推荐指数
4
解决办法
5万
查看次数

在Java中为android动画设置插值器

这看起来很简单:我正在尝试将插值器设置为在我的应用程序中用于动画.我需要在Java代码中设置它,而不是XML(它会根据各种事情而改变).

从android网站上,我发现了 setInterpolator()

但是,我不知道如何使用它.

我试过加入极谱名称(即.BounceIterpolator),但这没有做任何事情.

我试过了R.anim.BounceIterpolator,但Intellisense说anim cannot be resolved or is not a field.

那么如何从Java设置插补器呢?

java android android-animation

37
推荐指数
3
解决办法
3万
查看次数

带有弹跳插补器的Android Scale Animation

我正在做一个缩放动画,anim xml如下所示.动画插值器不起作用.我试图弹跳插值器但是没有工作.

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android" >

    <scale
        android:duration="900"
        android:fromXScale="1"
        android:fromYScale="0.5"
        android:interpolator="@android:anim/bounce_interpolator"
        android:pivotX="50%"
        android:pivotY="0%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
     </set>
Run Code Online (Sandbox Code Playgroud)

编辑:其实我的整个xml是

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

<scale
    android:duration="600"
    android:fromXScale="1"
    android:fromYScale="0.5"
    android:interpolator="@android:anim/bounce_interpolator"
    android:pivotX="50%"
    android:pivotY="0%"
    android:toXScale="1.0"
    android:toYScale="1.0" />

<alpha
    android:duration="@android:integer/config_longAnimTime"
    android:fromAlpha="0.0"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:toAlpha="1.0" />

</set>
Run Code Online (Sandbox Code Playgroud)

android android-animation

37
推荐指数
2
解决办法
6万
查看次数

适用于Android的功能发现动画

自5月以来,Google已在其网站上更新了材料设计指南.我在一个名为Feature discovery的新部分中看到了一个有趣而酷的设计模式.

我想实现动画"发现"导航抽屉按钮.导航抽屉和浮动操作按钮的最后一次Google Fit更新中有类似的动画.

通常,对于Android动画,Google提供了一个很棒且非常棒的UI指南,但是我们没有任何进一步的信息来为我们自己的应用程序开发它.

你知道是否有Android库的原生解决方案来实现这些动画?如果是,它是否适用于Android 5.0以下(API 21) - 它可以高于Android 4.1+?

编辑:我做了一个Github项目来实现相同的动画.你可以在这里找到它:https://github.com/Guimareshh/Feature-discovery-animations

谢谢 !

android android-animation material-design

37
推荐指数
2
解决办法
3990
查看次数