症状
アプリの起動時に黒または白の画面の問題を防ぐために。あなたは、コールドスタートのプロセスを選択する必要があります。次のように実装:
カスタムテーマのスタイルファイルを追加します。
< スタイル名= "ThemeSplash" 親= "Theme.AppCompat.Light.NoActionBar" > < 項目名= "アンドロイド:バックグラウンド" > @描画可能/ bg_welcome_default </ アイテム> < 項目名= "アンドロイド:windowNoTitle" >真</ アイテム> < 項目名= "アンドロイド:windowFullscreen" >真</ アイテム> < 項目名= "windowActionBar" >偽</ アイテム> < 項目名= "windowNoTitle" >真</ 項目> </ スタイル>
テーマを使用してマニフェストファイル:
< アプリケーションは アンドロイド:allowBackup = "true"の アンドロイド:ラベル= "文字列/ APP_NAME @" アンドロイド:supportsRtl = "真" >を < 活動は アンドロイド:テーマ"スタイル/ ThemeSplash @" = アンドロイド:名= "SplashActivity" > < 意図-filter > < アクションはアンドロイド:名= "android.intent.action.MAIN" /> < カテゴリはアンドロイド:名= "android.intent.category.LAUNCHER" /> </ インテントフィルタ> </ アクティビティ> </アプリケーション>
3 640 * 960750 * 1334,1242 * 2208のアプリのbg_welcome_default画像のサイズ。
適切電話延伸が発生同様のキビ9(* 2340 1080)であろうと一致するアスペクト比です。(注:これは、置換が根本的な問題を解決することができないように、そこに伸びるであろう同じ画素密度で電話のアスペクト比ためピクチャ* 2208 * 2340 1242 * 2208 1080 1242のアスペクト比を置き換えるために使用できません。)
問題の原因
フルスクリーン画像のアスペクト比と画像のアスペクト比として画像を使用する場合には、画面と一致しません。
ソリューション
図のみをカットアイコン、背景のカスタム描画は、次の通り:
<?XMLバージョン= "1.0"コード= "UTF-8" ?> < 層リストのxmlns:アンドロイド= "http://schemas.android.com/apk/res/android" > < 商品> < 形状> < 固体アンドロイド:色= "@色/白" /> </ 形状> </ 商品> < 商品アンドロイド:左= "10dip" アンドロイド:上部= "10dip" > < ビットマップアンドロイド:SRC = "@描画可能/ bg_welcome" アンドロイド。 </ レイヤーリスト>
拡張問題
上記の方法を処理した後、スプラッシュ界面張力の問題が解決されているが、若干の問題がある、キビステータスバー9は、ピクチャで満たされていません。チャネル長による調査では、カスタムコードはに関連する次のコードを使用することができます。
< スタイル名= "ThemeSplash" 親= "Theme.AppCompat.Light.NoActionBar" > < 項目名= "アンドロイド:windowBackground" > @描画可能/ bg_welcome_default </ アイテム> < 項目名= "アンドロイド:statusBarColor" > @android:色/透明</ アイテム> <! - <項目名= "アンドロイド:windowNoTitle">真</ item>は- > <! - <項目名= "アンドロイド:windowFullscreen">真</ item>は- > <! - <項目名=」windowActionBar ">偽</アイテム> - > <! -<項目名= "windowNoTitle">真</アイテム> - > </ スタイル>
注:このトピックでは、V21 \のstyles.xml、上記のコードであると競合しません。
ここでは、コールドブートスプラッシュ画面伸張状態の基本的な問題は解決されます。