大家好!
今天我有一个很有趣的问题。
在我的工作中,我们正在创建一个约会服务,其中一个主要功能将是屏幕,其中显示不同女孩(或男孩)的照片,用户按下“热”或“不”按钮。这两个按钮都显示在屏幕上照片的下方。
我们的分析说(上帝“保佑”他们……)我们应该实现某种“游戏”机制,所以想要这样一个东西:例如,当用户按下“not”按钮时,它开始冻结并覆盖上冰块,然后破裂,然后显示下一张照片。这不是缩放、旋转或平移动画…按钮本身,它的“上帝保佑”的内容应该在一段很短的时间内改变(也许一两秒钟)。
这让我很害怕,因为当我考虑在不同的设备上缩放这些按钮,以及Ninepatch和手工制作的帧动画的不同问题时,我(看起来)要制作-我想哭…
请告诉我,我需要你的专业知识-真的要做这样的事情吗???或者可能有什么解决办法…
求你了,我都快慌了…

最佳答案

为动画制作图像并保存在PNG格式的文件夹中。
用下面的代码制作这些图像的动画。

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
 android:oneshot="true">
 <item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
 <item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
 <item android:drawable="@drawable/rocket_thrust3" android:duration="200" />
 </animation-list>

然后
AnimationDrawable rocketAnimation;

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
  rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
  rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
}

public boolean onTouchEvent(MotionEvent event) {
  if (event.getAction() == MotionEvent.ACTION_DOWN) {
    rocketAnimation.start();
    return true;
  }
  return super.onTouchEvent(event);
}

10-04 23:04
查看更多