私は2つのフルスクリーンのスプラッシュ画像を持って、1つは風景用で、もう1つはポートレートモード用です。例についてスプラッシュ画面画像を使用して風景と肖像画を使用して
風景画像を背景画像として表示されるべきであり、アプリケーションが肖像画像よりもポートレートモードから起動した場合、背景画像 として表示されなければならないよりもアプリがランドスケープモードから開始した場合、私はこれは以下Example
を参照していますどのように私のセットアップテーマ:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen_1</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
私はのAndroidManifest.xml
012からスプラッシュ活動のために、このテーマを設定枚の<activity
android:name=".activities.SplashActivity"
android:allowBackup="true"
android:label="@string/app_name"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
二つのショーの土地とポートの画像は、私は、同じ名前を持つ場所2枚の画像を持っているdrawable-land-hdpi
でsplash_screen_1.jpg
画像や
活動respectivley drawable-port-hdpi
フォルダ:
public class SplashActivity extends AppCompactActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
startApp();
}
private void startApp() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
HomeActivity.startHomeActivity(SplashActivity.this);
finish();
}
}, 2000);
}
}
今問題があるときにアプリが起動しポートレートモードからは完全に機能しますが、風景モードで起動すると、ポートレート画像が数ミリ秒間伸びて、グリッチ
を試してみました。しかし、それはイメージをロードするために数秒間初めに空白の画面を示し、そのレイアウト
からイメージをロードするためにはもう少し時間がかかるため、このソリューションは適していませんこれに代わるまたは適切な解決策がお役に立ちます
ソリューションが動作するはず解像度フォルダに新しい値-土地 /フォルダの中に別ののstyles.xmlファイルを作成してください。別のフォルダを作成してレイアウトファイルを追加しましたか?肖像画のものとは異なる画像で? –
はい...しかし、上記のようにレイアウトから画像を読み込むには数秒間空白の画面が表示されることが多くあります –
次に画像を最適化する必要があります。それは起こるべきではありません。 –