gpt4 book ai didi

android - Android 中的按钮动画

转载 作者:太空狗 更新时间:2023-10-29 16:42:49 25 4
gpt4 key购买 nike

今天我收到了一个非常有趣的问题。在我的工作中,我们正在创建一个约会服务,其中一个主要功能是屏幕,其中显示不同女孩(或男孩)的照片,用户按下“热”或“不”按钮。这两个按钮都显示在屏幕上照片的下方。

我们的分析表明我们应该实现某种“游戏”机制,所以我们想要这样的东西:例如,当用户按下“不”按钮时 - 它开始卡住并被冰覆盖,然后它会破裂,然后显示下一张照片。这不是缩放、旋转或平移动画……按钮本身,其内容应该在一小段时间(可能是一两秒)内发生变化。

这让我很害怕,因为当我考虑在不同的设备上缩放这些按钮时,我可能会遇到 ninepatch 和手工制作的帧动画的不同问题。

有没有可能做这样的事情?或者可能有任何类型的解决方法或其他方法。

最佳答案

  1. 为您的动画制作图像并以 png 格式保存在文件夹中。
  2. 使用下面的代码为这些图像制作动画。
<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);
}

关于android - Android 中的按钮动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com