Мне нужно понять, как определить, коснулся ли пользователь экрана.Как определить, затронут ли экран в onTouchEvent()
Ожидаемый результат: -Когда пользователь прикасается к экрану, он должен пропустить экран всплеска и перейти к основному действию.
Проблема: при каждом касании экрана экран заставки пропускается, но в фоновом режиме спящий (10500) в блоке try продолжает работать, и по мере того, как он истекает, основное действие запускается снова, то есть оно открывается два раза.
Что я сделал до сих пор: -Я пробовал делать цикл while и давал условие, если условие выполнено (от Touch), тогда break.But, похоже, я не получаю правильное рабочее состояние. Всплеск Code Screen: -
@Override
protected void onCreate(Bundle splashState) {
// TODO Auto-generated method stub
super.onCreate(splashState);
setContentView(R.layout.splash);
ourSong = MediaPlayer.create(Splash.this, R.raw.splashsound);
ourSong.start();
Thread timer = new Thread() {
public void run() {
do
{
try {
//if(onTouchEvent(null))
// break;
sleep(10500);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
startActivity(new Intent("com.first.MAINACTIVITY"));
}
}while(false);
}
};
timer.start();
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
startActivity(new Intent("com.first.MAINACTIVITY"));
finish();
ourSong.release();
}
return super.onTouchEvent(event);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
ourSong.release();
}
Если Заявление предоставляется в блоке Ьгу поэтому, если условие было бы break.But состояние неизвестно me.Need помощи с условием. Спасибо.
Спасибо большое! Это действительно помогло! –