Articles of android animation

Imageview中的并行animation

我想像下面的图像一样实现animation。 我已经使用了ThreePhaseBottomLibrary ,根据我的经验,当我向上滚动时,animation应该按照上面的图像并行! 下面是我的Fragment类。 它的工作正常,除了这个图像并行animation按照屏幕: Myfragment.java public class MyFragment extends BottomSheetFragment { private BottomSheetLayout mBottomSheetLayout; private ImageView mBottomSheetBackgroundImageView; private int mBottomSheetHeight; private ImageView movingIconImageView; private AppBarLayout mAppBarLayout; private int mMStartMarginBottom; private int mMStartMarginLeft; private Toolbar mToolbar; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View view = inflater.inflate(R.layout.fragment_my, container, false); mBottomSheetHeight […]

在具有相同密度的不同Android设备上具有不同的投掷(滑动)速度

我正在编写自己的图像查看器,使用户可以向左或向右滑动以查看下一个\上一个图像。 我想根据投掷速度为图像变化设置animation。 为了检测一个手势和它的速度,我按照这个基本的手势检测 ,并按照接受的答案建议: public class SelectFilterActivity extends Activity implements OnClickListener { private static final int SWIPE_MIN_DISTANCE = 120; private static final int SWIPE_MAX_OFF_PATH = 250; private static final int SWIPE_THRESHOLD_VELOCITY = 200; private GestureDetector gestureDetector; View.OnTouchListener gestureListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* … */ // Gesture detection gestureDetector = new GestureDetector(this, […]

Android:animation自定义视图

编辑2:新的官方培训指南 开发者网站发布了UI相关内容的培训指南,这是索引: animation概述 物业animation概述 animation可绘制的图形 使用animation显示或隐藏视图 使用animation移动视图 使用flinganimation移动视图 使用缩放animation放大视图 使用弹簧物理animation运动 自动animation布局更新 使用转换animation布局更改 创建自定义过渡animation 使用animation启动活动 如果您对以下任何一项感兴趣,请访问以下链接: https : //developer.android.com/training/animation/ 编辑:答案总结 我find了5种在Android中制作animation的方法: 使用“ 属性animation”为View的属性设置animation,以平滑地更改rotation , alpha , scale等。 帧animation ( AnimationDrawable ):快速更改图片,使其看起来像animation 使用矢量 ( VectorDrawable )设计图像,并通过AnimatedVectorDrawable随时间编辑它们来制作 animation 。 覆盖 View上的onDraw()并通过在canvas中绘制来执行自定义绘图 。 使用Lottie ,从After Effects再现animation。 LottieFiles提供了许多animation。 但是,Android也提供了一些内置工具 ,例如Scenes (允许您在共享Views多个布局之间设置转换animation), Shared elements (可以让您将View从一个Activity传递到另一个Activity )等等 API 21中添加了许多(如果不是全部)这些function,请单击此处获取更多信息。 这里有一些有趣的animation文章/博客: Google制作网站上的子类别名为material.io : […]

ViewPager中的按钮滚动到特定页面

我的ViewPager中的一个布局有一个按钮。 “R.layout.add_site”。 我想选择按下按钮,它会滚动到我的特定页面。 我已经可以选择滑动到特定页面,但我想同时拥有这两个页面。 现在我确定有办法做到这一点,但由于某种原因,我无法弄明白。 你会看到我做了一个尝试,但只是不知道要调用什么方法,以使其滚动到所需的页面。 这是R.layout.main。 这是我的代码。 public class fieldsActivity extends Activity { Button addSiteButton; Button cancelButton; Button signInButton; /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // to create a custom title bar for activity window requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.fields); // use custom layout title bar […]

按钮不适用于AlexKolpa / fab-toolbar

当我注意到animation无法正常工作时,我最近即将导入AlexKolpa/fab-toolbar库,即使我按照以下链接中给出的所有指示操作: https://github.com/AlexKolpa/fab-toolbar 我的代码如下: 主要活动 import android.animation.Animator; import android.animation.AnimatorInflater; import android.animation.ObjectAnimator; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.animation.LinearInterpolator; import android.widget.Toast; import com.github.alexkolpa.fabtoolbar.FabToolbar; public class MainActivity extends ActionBarActivity implements View.OnClickListener{ private FabToolbar fabToolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fabToolbar = ((FabToolbar) findViewById(R.id.fab_toolbar)); fabToolbar.setColor(getResources().getColor(R.color.blue)); // findViewById(R.id.attach).setOnClickListener(this); findViewById(R.id.attach).setOnClickListener(new View.OnClickListener(){ […]

活动和共享视图之间的animation:animation结尾的小故障/黑客攻击?

所以,我面临的问题是我在两个活动和两个共享视图之间做的animation看起来不太好。 问题是它的“小问题”,当从Activity2回到Activity1时,TextViews在animation结束时共享闪烁,从Activity2中显示“更大的文本”只有几分之一秒,所以它“闪烁” ”。 活动1(RecyclerView有三个项目): 活动2(详情): 我在制作animation时拍摄了屏幕。 从Activity2返回到Activit2时,您可以看到文本在最后闪烁。 这段video(36MB,对不起大小)显示: https://drive.google.com/file/d/0B3wIZ9CS9Kj_a0MyVFlzX1YtY0E/view?usp=sharing 问题是:我做错了什么? 为什么会这样闪烁? 我看到其他animation的video,它们都非常流畅和漂亮。 我测试了不同types的转换(changeBounds,explode等),但总会有一些奇怪的事情发生。 任何提示,想法将不胜感激=) 我的代码 MainActivity(Activity1): package se.snapcode.lollipoptest; import android.app.Activity; import android.app.ActivityOptions; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.GestureDetectorCompat; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.util.Pair; import android.view.GestureDetector; import android.view.Menu; import android.view.MenuItem; import android.support.v7.widget.RecyclerView; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity […]

在FragmentManager上调用popBackStack时的customAnimation

在我的活动中,只需按一下按钮,我就会使用自定义animation将新片段替换为当前片段,就像在此示例中一样。 @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle presses on the action bar items switch (item.getItemId()) { case R.id.action_anomalie: Fragment contentFragment = getFragmentManager().findFragmentById(R.id.content); if(contentFragment instanceof AnomalieListFragment) { getFragmentManager().popBackStack(); return true; } else { FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out); anomalieFragment = new AnomalieListFragment(); ft.replace(R.id.content, anomalieFragment); ft.addToBackStack(null); ft.commit(); } … 但是, 弹回堆栈不会显示任何animation。 有没有办法像使用setCustomAnimations方法一样在FragmentTransaction中指定自定义animation?

如何创建旋转轮控制?

我正在尝试在android中实现Rotatory wheel ,就像下面显示的图像一样。我从这个链接中看到了教程。 但我想实现如下图所示。轮子由各个图像组成。有没有人对这个实现有任何想法? 任何帮助,将不胜感激。 提前致谢。 阿卡什

如何在RecyclerView上的排序(notifyDataSetChanged)期间提供自定义animation

目前,通过使用默认animationandroid.support.v7.widget.DefaultItemAnimator ,这是我在排序过程中遇到的结果 DefaultItemAnimatoranimationvideo: https : //youtu.be/EccI7RUcdbg public void sortAndNotifyDataSetChanged() { int i0 = 0; int i1 = models.size() – 1; while (i0 < i1) { DemoModel o0 = models.get(i0); DemoModel o1 = models.get(i1); models.set(i0, o1); models.set(i1, o0); i0++; i1–; //break; } // adapter is created via adapter = new RecyclerViewDemoAdapter(models, mRecyclerView, this); adapter.notifyDataSetChanged(); } 但是,我更喜欢提供自定义animation,而不是排序期间的默认animation(notifyDataSetChanged)。 […]

如何为View的翻译设置animation

在第一次单击按钮时,我想沿x轴滑动View (向右滑动200像素)。 在第二次按下按钮时,我想将View沿x轴向后滑动到原始位置。 View.setTranslationX(float)方法通过调用myView.setTranslationX(200);将View 跳转到目标水平位置myView.setTranslationX(200); 和myView.setTranslationX(0); 分别。 有人知道如何将View 滑动到目标水平位置吗? 注1: TranslateAnimation并不好,因为它实际上并没有移动View而只是呈现它移动的错觉。 注2:我在提出问题时没有意识到setTranslationY(float) API级别11开始引入了setTranslationX(float)和setTranslationY(float)方法。如果你向上定位Honeycomb(API Level 11),那么Gautam K的答案就足够了。 否则,请参阅我的答案以获得建议的解决方案