gpt4 book ai didi

java - 动画无法正常工作

转载 作者:行者123 更新时间:2023-11-29 09:20:35 25 4
gpt4 key购买 nike

当手机被摇动时,它应该会显示一个动画。动画第一次工作,但下一次摇动它不会这样做。其他一切都正常工作,因为每次我摇动它时它都会显示新文本。它只是动画不会在第一个之后再做一次。我确实为 oneshot 设置了动画,但这不会影响动画再次触发吗?

这是我正在处理的 Activity 。其次是它的 xml 布局。

public class Ask extends Activity{
private SensorManager mSensorManager;
private ShakeEventListener mSensorListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ask);

mSensorListener = new ShakeEventListener();
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mSensorManager.registerListener(mSensorListener,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI);
final ImageView v = (ImageView)findViewById(R.id.talk);


mSensorListener.setOnShakeListener(new ShakeEventListener.OnShakeListener() {

public void onShake() {
v.setBackgroundResource(R.anim.budtalk);
AnimationDrawable talking = (AnimationDrawable)v.getBackground();
talking.start();
}
});
}

}




<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/page1"
>

<ImageView android:background="@drawable/page2ani1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/talk"></ImageView>
</RelativeLayout>

最佳答案

这个有用吗?

final Animation ani = AnimationUtils.loadAnimation(this,R.anim.budtalk);
//later
v.startAnimation(ani);

这就是我将动画反复应用到 TextView 元素的方式。

否则,因为您更改了 ImageView ,也许之后您可能需要一个 v.postInvalidate() ?

关于java - 动画无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6658556/

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