Мое приложение загружает стартовую страницу за 10 секунд. В это время 10 секунд экран андроида пуст. В это время я хочу добавить экран загрузки. Как его добавить? И скажите мне в приложении, как узнать, что загружается стартовая страница? И скажите, как это сделать в моем приложении?Добавить экран загрузки при запуске приложения для Android.
ответ
Вы можете использовать экранную заставку в первой загрузки деятельности, как это:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
Thread welcomeThread = new Thread() {
@Override
public void run() {
try {
super.run();
sleep(10000); //Delay of 10 seconds
} catch (Exception e) {
} finally {
Intent i = new Intent(SplashActivity.this,
MainActivity.class);
startActivity(i);
finish();
}
}
};
welcomeThread.start();
}
Надежда этот код поможет вам.
Спасибо за это, хотя кажется, что нет необходимости в int wait = 0, так как переменная никогда не используется. –
@DavidG Спасибо за указание. :) Я отредактировал его –
позволяет сказать, что вы открываете это приложение, и после 5-х вы его оставляете, а затем еще через 5 секунд приложение показывает снова, потому что оно начинает основное действие. Не забывайте отменить это как-то, когда вы покидаете экран приложения/поворота и т. Д. – RadekJ
использование ProgressDialog.
ProgressDialog dialog=new ProgressDialog(context);
dialog.setMessage("message");
dialog.setCancelable(false);
dialog.setInverseBackgroundForced(false);
dialog.show();
Скрыть его, когда ваш пользовательский интерфейс готов с данными. звоните:
dialog.hide();
Идеальное решение , Спасибо! – HanClinto
public class Splash extends Activity {
private final int SPLASH_DISPLAY_LENGHT = 3000; //set your time here......
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
/* Create an Intent that will start the Menu-Activity. */
Intent mainIntent = new Intent(Splash.this,MainActivity.class);
Splash.this.startActivity(mainIntent);
Splash.this.finish();
}
}, SPLASH_DISPLAY_LENGHT);
}
}
Если приложение не делает ничего в течение 10 секунд, это сформирует плохой дизайн только, чтобы пользователь ждать в течение 10 секунд, ничего не делая.
Если есть что-то происходит в этом, или если вы хотите реализовать 10 секунд заставку задержки, Вот код:
ProgressDialog pd;
pd = ProgressDialog.show(this,"Please Wait...", "Loading Application..", false, true);
pd.setCanceledOnTouchOutside(false);
Thread t = new Thread()
{
@Override
public void run()
{
try
{
sleep(10000) //Delay of 10 seconds
}
catch (Exception e) {}
handler.sendEmptyMessage(0);
}
} ;
t.start();
//Handles the thread result of the Backup being executed.
private Handler handler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
pd.dismiss();
//Start the Next Activity here...
}
};
Написать код:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
Thread welcomeThread = new Thread() {
@Override
public void run() {
try {
super.run();
sleep(10000) //Delay of 10 seconds
} catch (Exception e) {
} finally {
Intent i = new Intent(SplashActivity.this,
MainActivity.class);
startActivity(i);
finish();
}
}
};
welcomeThread.start();
}
Вы можете создайте пользовательский экран загрузки вместо заставки. если вы показываете заставку в течение 10 секунд, это не очень хорошая идея для пользователей. Поэтому лучше добавить пользовательский экран загрузки. Для пользовательского экрана загрузки вам могут потребоваться несколько разных изображений, чтобы они выглядели как gif. после этого добавьте изображения в папке res
и сделать класс как это: -
public class LoadingScreen {private ImageView loading;
LoadingScreen(ImageView loading) {
this.loading = loading;
}
public void setLoadScreen(){
final Integer[] loadingImages = {R.mipmap.loading_1, R.mipmap.loading_2, R.mipmap.loading_3, R.mipmap.loading_4};
final Handler loadingHandler = new Handler();
Runnable runnable = new Runnable() {
int loadingImgIndex = 0;
public void run() {
loading.setImageResource(loadingImages[loadingImgIndex]);
loadingImgIndex++;
if (loadingImgIndex >= loadingImages.length)
loadingImgIndex = 0;
loadingHandler.postDelayed(this, 500);
}
};
loadingHandler.postDelayed(runnable, 500);
}}
В вашем MainActivity, вы можете передать в класс LoadingScreen, как это: -
private ImageView loadingImage;
Не забудьте добавить ImageView в activity_main. После этого вызовите класс LoadingScreen следующим образом:
LoadingScreen loadingscreen = new LoadingScreen(loadingImage);
loadingscreen.setLoadScreen();
Я надеюсь, что это поможет вам
Всплеск экраны просто тратить свое время, не так ли? Как разработчик Android, когда я вижу заставку, я знаю, что некоторым бедным разработчикам пришлось добавить к коду трехсекундную задержку.
Затем я должен смотреть на изображение в течение трех секунд, пока не смогу использовать приложение. И я должен делать это каждый раз, когда он запускается. Я знаю, какое приложение я открыл. Я знаю, что он делает. Просто позвольте мне использовать его!
заставок правильный путь
Я считаю, что Google не противоречит сам себе; старый совет и новый стенд вместе. (Тем не менее, по-прежнему не рекомендуется использовать заставку, которая отнимает время пользователя. Пожалуйста, не делайте этого.)
Однако для запуска приложений Android требуется определенное количество времени, особенно при холодном запуске. Там есть задержка, которую вы, возможно, не сможете избежать. Вместо того, чтобы оставлять пустой экран в течение этого времени, почему бы не показать пользователю что-то приятное? Это подход, который поддерживает Google. Не тратьте время на пользователя, но не показывайте им пустую, неконфигурированную часть приложения при первом запуске.
Если вы посмотрите последние обновления приложений Google, вы увидите соответствующее использование заставки. Например, посмотрите приложение YouTube.
- 1. подлинный экран загрузки при запуске
- 2. Экран загрузки приложения Android
- 3. Android Studio: белый экран при запуске приложения
- 4. Java - Android - как добавить экран загрузки
- 5. При запуске приложения для Android при запуске
- 6. Случайный черный экран при запуске приложения для Android на устройстве
- 7. Белый экран, наблюдаемый при запуске приложения QGraphicsView
- 8. Android: показать этот экран при запуске checkbox?
- 9. Экран загрузки Android OpenGL
- 10. Как добавить видеофайл при запуске приложения android
- 11. Ошибка при запуске приложения для загрузки весны
- 12. Ошибка при запуске приложения для загрузки
- 13. Белый фон при запуске приложения для Android
- 14. Экран загрузки приложения IPhone
- 15. Android Studio 2.0 - пауза/белый экран при первом запуске приложения
- 16. Черный экран при запуске моего приложения на эмуляторе студии Android
- 17. Ошибка Android при запуске приложения при запуске
- 18. Сбой приложения для Android при запуске IntentService
- 19. Как добавить проверку обновлений при запуске приложения для Android?
- 20. Android: Черный экран при запуске нового действия
- 21. Экран загрузки Android WebView
- 22. Экран загрузки приложений Android
- 23. Белый экран при запуске на Android-приложении
- 24. Сбой приложения для Android при втором запуске
- 25. Приключение приложения для Android при запуске - SecurityException
- 26. «java.lang.InstantiationException» при запуске приложения для Android
- 27. Приключение приложения для Android при запуске
- 28. Сбой приложения для Android Eclipse при запуске
- 29. java.lang.UnsatisfiedLinkError при запуске приложения для Android
- 30. Ошибка SQLite при запуске приложения для Android
и можно использовать диалоговое окно полного экрана или вы можете использовать всплеск screen.when ваш процесс начинается показывать диалоговое окно и когда он заканчивается отклонить его. – TheFlash
Я думаю, эта ссылка поможет вам: http://stackoverflow.com/questions/15452061/android-splash-screen. Удачи! –
Вместо экрана-заставки вы рассмотрели некоторые поддельные данные, некоторые учебные пособия, 10-секундный всплывающий экран закроет ваше приложение и будет действительно разочаровывающим для пользователя: http://cyrilmottier.com/2012/05/03/splash- screen-are-evil-dont-use-them/ –