(アプリの起動時に表示画面)スプラッシュ画面を作成するには?
-
19-09-2019 - |
質問
私は、単純なアプリケーションは、それが起動するネットからの負荷のXMLフィードを持っている、あなたは、ニュースのリストを閲覧し、選択したニュース項目の詳細を読むことができます。私は何をしたいのは、あなたがアプリケーションをクリックして、それは(私の場合はアプリ名)の画像を表示し、それらをロードした後にのみニュース一覧を表示する必要があるとすぐに意味、スプラッシュスクリーンを持っている。
私は似た(と思う)問題について読んで、通常の人々がでframeLayoutを使用するように言うが、私は本当にそれを並べ替えることはできません。私はこれが起動される最初のアクティビティで行うことができるかどうかわからないんだけど、多分私はちょうど1つのアクティビティでこのスプラッシュ画像を表示するだけにして私のニュース一覧を表示するアクティビティを呼び出す必要がありますか?
私はAndroidのアプリのマニフェストでは、この機能を持っていいだろう、開発中にiPhoneにアプリの設定でスプラッシュ画面を設定できることを知っている...
解決
Androidのは、あなたがスタートアップに長い計算を実行するときにスプラッシュスクリーンを使用しての利点を取ることを示唆しています。ここではAndroidデベロッパーのウェブサイトからの抜粋だ - 応答性のための設計ます:
「アプリケーションが時間のかかる初期セットアップ段階を持っている場合は、スプラッシュ画面を示すか、可能な限り迅速にメインビューをレンダリングし、非同期的に情報を記入考える。どちらの場合も、あなたは何とかその進展がなされていることを示す必要があります、ユーザーといけないアプリケーションが凍結されていることを感じます。」 - Androidデベロッパーサイト
あなたはネットからXMLフィードをダウンロードし、それを解析し、(必要な場合)、DBに格納し、その後、ニュースフィードを表示する活動を開始するAsyncTaskを使用しながら、進捗ダイアログを示しアクティビティを作成することができます。仕上げを呼び出すことにより、スプラッシュのアクティビティを閉じます()
ここでスケルトンコードです:
public class SplashScreen extends Activity{
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
// set the content view for your splash screen you defined in an xml file
setContentView(R.layout.splashscreen);
// perform other stuff you need to do
// execute your xml news feed loader
new AsyncLoadXMLFeed().execute();
}
private class AsyncLoadXMLFeed extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute(){
// show your progress dialog
}
@Override
protected Void doInBackground(Void... voids){
// load your xml feed asynchronously
}
@Override
protected void onPostExecute(Void params){
// dismiss your dialog
// launch your News activity
Intent intent = new Intent(SplashScreen.this, News.class);
startActivity(intent);
// close this activity
finish();
}
}
}
に役立ちます希望!
他のヒント
私は、これは古いです知っているが、まだこの問題に直面しているあなたの人々のために、あなたはこの単純なアンドロイドを使用することができますあなたのスプラッシュ画面を表示する-splashライブラリでます。
SplashBuilder
.with(this, savedInstanceState)
.show();
あなたはスプラッシュ画面が表示されている間に実行されますSplashTask
を設定することができます。