Когда телефон трясется, он должен отображать анимацию. Анимация работает в первый раз, но при следующем встряхивании она этого не сделает. Все остальное работает правильно, потому что каждый раз, когда я встряхиваю его, каждый раз отображается новый текст. Просто анимация не сделает это снова после первого. У меня есть анимация для onehot, но это не должно повлиять на запуск анимации снова?
Вот упражнение, над которым я работаю. Вслед за его 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>