java动画无法正常工作
当手机晃动时,它应该会显示动画。动画第一次工作,但下一次摇动它不会这样做。其他一切都正常工作,因为每次我摇晃它时,它都会显示新文本。只是第一次之后动画不会再做了。我确实为oneshot设置了动画,但这不应该影响动画再次触发
这是我正在进行的活动。然后是它的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:安卓="http://schemas.安卓.com/apk/res/安卓"
安卓:orientation="vertical"
安卓:layout_width="fill_parent"
安卓:layout_height="fill_parent"
安卓:background="@drawable/page1"
>
<ImageView 安卓:background="@drawable/page2ani1" 安卓:layout_width="fill_parent" 安卓:layout_height="fill_parent" 安卓:id="@+id/talk"></ImageView>
</RelativeLayout>
# 1 楼答案
这行吗
这就是我反复将动画应用于TextView元素的方式
如果做不到这一点,因为您已经更改了ImageView,那么以后可能需要一个v.postInvalidate()