Как отобразить простую страницу просмотра (XML-файл) всего за несколько секунд, а затем
Моя проблема как-то похожа на заставку, но я хотел бы знать, есть ли более простой способ.
вот сценарий..
Мне нравится отображать простой XML-файл (страницу в формате Android) всего за 2 секунды, а затем загружать другой XML-файл (главную страницу). Мне интересно, есть ли вообще без создания класс и долго-сложный путь.
скажем, файл заставки - "splash_screen.xml", а главная страница - "result.xml".
setContentView (R.layout.splash_screen) на 2 секунды, затем он будет уничтожен и setContentView(R.layout.result) будет скомпилирован. [psedocoded-way;)]
2 ответа
Во-первых, вызов setContentView несколько раз в одном действии - это плохо.
Ну, это не так сложно. Вам нужно, чтобы ваша всплывающая активность была вашей начальной активностью. Затем создайте поток и начните следующее действие через две секунды.
1) Основной класс / Всплеск:
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
Thread t = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}finally{
Intent i=new Intent(MainActivity.this,Result.class);
startActivity(i);
finish();
}
}
});
t.start();
}
}
2) Второй класс / Результат
public class Result extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
}
}
Наконец, не забудьте добавить Result Activity в файл манифеста
Попробуйте следующий код:-
setContentView(R.layout.test2);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setContentView(R.layout.activity_main);
Это будет работать для вас.