Articles of animation

在回收视图中的每个项目的视差效果?

我试图玩Parallax和得到一些奇怪的错误,想知道如果有人可以添加一些input。 我见过的唯一有效实现视差的应用程序是soundcloud。 这是非常微妙的,但每个项目都有一个图像的背景,并有滚动时的视差效果。 我已经创build了一个自定义RecyclerView来处理这个,这是我到目前为止: public class ParallaxScrollListener extends RecyclerView.OnScrollListener { private float scrollSpeed = 0.5f; @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); int firstVisible = layoutManager.findFirstVisibleItemPosition(); int visibleCount = Math.abs(firstVisible – layoutManager.findLastVisibleItemPosition()); Matrix imageMatrix; float tempSpeed = -100; if (dy > 0) { tempSpeed […]

Challange:ViewPager的自定义animation。 更改所选元素的高度(查看倍数)

我目前正在ViewPager中切换页面之间的自定义animation。 当我向左滑动时,View正在向左移动,并从其下方看到新的View正在前方。 我想提出一个观点,那就是左边的(我处理的)像下面的图像那样缩小: 在第二和第三张照片上,我没有看到前面的新视图,但是我认为没有必要。 你有什么想法如何修改代码? 我想改变TableLayout,RelativeLayout和FrameLayout的高度,并保持两个TextViews的高度。 此外,我将不得不改变整个视图的X位置。 我期待着您的创意答案(代码)。 下面我附上我的animation代码。 import android.view.View; import android.widget.RelativeLayout; import android.annotation.SuppressLint; import android.support.v4.view.ViewPager.PageTransformer; public class DepthPageTransformer implements PageTransformer { private static float MIN_SCALE = 0.75f; @SuppressLint("NewApi") public void transformPage(View view, float position) { int pageWidth = view.getWidth(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to […]

无限ObjectAnimator与插值器…如何只加速初始启动?

我有一个无限重复模式的对象animation师。 我只想在第一次启动的时候加速它,而不是每一次都在重复 这怎么能实现? 我的代码: universeMovement1 = ObjectAnimator.ofFloat(universeImageView, "x", 0, sw); universeMovement1.setDuration(UNIVERSE_MOVEMENT_TIME); universeMovement1.setRepeatCount(ObjectAnimator.INFINITE); universeMovement1.setRepeatMode(ObjectAnimator.RESTART); universeMovement1.setInterpolator(new AccelerateInterpolator());

选项菜单animation

我怎么能给这样一个幻灯片animation: <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="1000" android:fromYDelta="0" android:toYDelta="100%" /> </set> 为“选项菜单”打开。喜欢这个animation:

如何在Android中加载5行和5列顶视图的精灵表?

我有一个精彩的612×864维度的5行和5列。我的问题是如何加载和animation? 我只想在y轴上移动猫精灵。我已经试过,但是我的代码工作不正常。 这是我的代码。 在GameView.java中 import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.view.SurfaceHolder; import android.view.SurfaceView; public class GameView extends SurfaceView { private Bitmap bmp; private SurfaceHolder holder; private GameLoopThread gameLoopThread; private Sprite sprite; public GameView(Context context) { super(context); gameLoopThread = new GameLoopThread(this); holder = getHolder(); holder.addCallback(new SurfaceHolder.Callback() { @Override public void surfaceDestroyed(SurfaceHolder […]

NineOldAndroids,旋转或移动后不能点击查看

我使用NineOldAndroids 2.4.0来为对象的运动和转换主要进行animation处理。 在Android 4.0及以上版本都可以正常工作,但在之前的版本(2.1,2.3)之后,animation元素没有获得焦点并且不可点击。 示例代码: View v = findViewById(R.id.button1); v.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "Click!", Toast.LENGTH_SHORT).show(); } }); ObjectAnimator moveDown = ObjectAnimator.ofFloat(v, "translationY", 100f); moveDown.setDuration(5000); moveDown.start(); 这是在图书馆的错误,或者我做错了什么? 如果这个库不支持“Honeycomb animation API”的所有function,那么在我的项目中就没用了。 Android开发人员在“Honeycomb中的animation”上的博客: 由于系统实际上正在改变目标对象的属性,所以对象本身被改变,而不仅仅是它们的外观。 所以你移动的button实际上是移动的,而不是只是在不同的地方绘制。 你甚至可以点击它的animation位置。 继续点击它; 我赌你。

如何在RecyclerView中使用GridLayoutAnimation?

我试图用新的RecyclerView(使用GridLayoutManager)replace我的GridView,但它似乎不能很好地处理gridLayoutAnimation( ClassCastException: LayoutAnimationController$AnimationParameters cannot be cast to GridLayoutAnimationController$AnimationParameters )。 它使用常规的布局animation,但由于它是网格,在平板电脑上完成需要很长时间。 我试图完成的是类似于分层时序 。 如果您查看示例video,则会显示布局animation从左上angular到右下angular。 一个普通的布局animation会在一行之后执行animation行,因此在较大的网格(例如平板电脑)上花费太多的时间来完成。 我也尝试过探索ItemAnimator,但是它只会在“Do not”示例中同时在所有单元格上运行animation。 有没有一种方法可以在RecyclerView中完成这个网格布局animation? 这是gridview_layout_animation.xml: <!– replace gridLayoutAnimation with layoutAnimation and –> <!– replace column- and rowDelay with delay for RecyclerView –> <gridLayoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:columnDelay="15%" android:rowDelay="15%" android:animation="@anim/grow_in" android:animationOrder="normal" android:direction="top_to_bottom|left_to_right" android:interpolator="@android:interpolator/linear" /> 这是animationgrow_in.xml: <set android:shareInterpolator="false" xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:interpolator/decelerate_quint" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" […]

在TextView中dynamic加载AnimationDrawable

我需要用图像replace文本中的短语,然后将其附加到TextView。 对于常规的Drawables来说,这没有问题,但是当Drawable是一个AnimationDrawable时,我不知道何时何地调用.start(); 。 这是我如何将文本追加到TextView: textview.append(Html.fromHtml(textWithHtmlImgTags, imagegetter, null)); textWithHtmlImgTags中的图像标签被imagegetterreplace: new ImageGetter() { @Override public Drawable getDrawable(String source) { if(source.endsWith("_ani")) { Log.i("cmv", "This is an animated drawable."); AnimationDrawable dra = (AnimationDrawable)res.getDrawable(sRes.get(source)); dra.setBounds(0, 0, dra.getIntrinsicWidth(), dra.getIntrinsicHeight()); dra.start(); // This doesn't work.. return dra; } Drawable dr = res.getDrawable(sRes.get(source)); dr.setBounds(0, 0, dr.getIntrinsicWidth(), dr.getIntrinsicHeight()); return dr; } }; 我的AnimationDrawables被添加,但他们没有animation(他们卡在第1帧)。 在文档中说: […]

Android ViewPropertyAnimator不能同时缩放

我试图使用ViewPropertyAnimator每次按下button时缩放视图(不确定的ProgressBar)。 loadingCircle.animate().scaleY(1.5f).scaleX(1.5f).setDuration(100f); 我有一个animatorListener,缩放回正常onAnimationEnd: loadingCircle.animate().scaleY(1.0f).scaleX(1.0f).setDuration(100f); 没有太复杂。 但是,似乎并不总是在同一时间同时调整x和y。 通常第一次是正确的,有时是第二次。 当它不起作用时,它只会animation链中的最后一个操作。 如果是scaleX,它只会缩放X.如果我交换它,它只会缩放Y. scaleX和scaleY的文档说: 已经在该物业上运行的animation将被取消 不过,我认为ViewPropertyAnimator能够被链接,而这个评论只适用于新的animation(在不同的代码行上)。 我做错了什么,或者我发现了一个错误? 我在GalaxyS4上运行Android 4.2.2。 股票ROM,但扎根。 如果这有所作为

如何将animation添加到android中的文本视图

我有一个TextView ,我试图在animation添加淡入淡出。 我的代码返回null ,我不明白为什么。 这是我的实现 这是fade_in.xml <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:duration="1000" android:fromAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:toAlpha="1.0"/> 这里是如何使用它在相应的活动 tv= (TextView)findViewById(R.id.textView); //– the below line is returning null animation = AnimationUtils.loadAnimation(this,R.anim.fade_in); animation.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { tv.setVisibility(View.VISIBLE); } @Override public void onAnimationEnd(Animation animation) { Intent it = new Intent(SplashActivity.this, MainActivity.class); startActivity(it); } @Override public void onAnimationRepeat(Animation […]