После выхода из цикла for.Добавьте код, чтобы начать новое действие.
startActivity(new Intent(Intro.this,NewACtivity.class));
Вы должны поместить его вне цикла for.Если вы поместите его после метода запуска, он будет выполнен до завершения потока.Вам также может потребоваться определить область действия этой переменной с помощью Intro.this.Также не забудьте добавить новое действие в файл манифеста как
<activity android:name=".NewActivity"/>
Просто используйте этот
screen = (FrameLayout) findViewById(R.id.layout);
(new Thread(){
@Override
public void run(){
for(i=0; i<255; i++){
handler.post(new Runnable(){
public void run(){
screen.setBackgroundColor(Color.argb(255, i, i, i));
}
});
// next will pause the thread for some time
try{ sleep(100); }
catch(Exception e){ break; }
}
startActivity(new Intent(TabTester.this,NewKFCActivity.class));
}
}).start();
, этот указатель должен указывать на объект действия Intro.Но внутри потока это будет относиться к текущему объекту потока (я не уверен, на что именно он указывает), поэтому вам нужно охватить его, используя «Intro.this», что означает «использовать это, что указывает на активность Intro»
Ваше фоновое изображение будет перезаписано, если вы используете setBackgroundColor для того же представления.Способ сделать это будет использовать для макетов, внешний макет будет иметь фоновое изображение, а внутренний макет будет тот, к которому применяется setBackgroundColor.Например:
Вам также необходимо изменить код
screen.setBackgroundColor(Color.argb(255, i, i, i));
на
screen.setBackgroundColor(Color.argb(120, i, i, i));
Значение альфа установлено на 255, что означает непрозрачный и не будетпоказать фоновое изображение.