Android - स्टार्टअप पर सफेद स्क्रीन को रोकें


110

जैसा कि हम सभी जानते हैं, कई एंड्रॉइड ऐप अपने पहले Activityफोकस में आने से पहले एक सफेद स्क्रीन को बहुत संक्षेप में प्रदर्शित करते हैं। यह समस्या निम्नलिखित मामलों में देखी गई है:

  • एंड्रॉइड ऐप्स जो वैश्विक Applicationवर्ग का विस्तार करते हैं और उसमें प्रमुख आरंभिक प्रदर्शन करते हैं। Application वस्तु हमेशा पहले से पहले बनाई गई है Activity, (एक तथ्य यह है कि डीबगर में मनाया जा सकता है) तो यह समझ में आता है। यह मेरे मामले में देरी का कारण है।

  • एंड्रॉइड ऐप जो छप स्क्रीन से पहले डिफ़ॉल्ट पूर्वावलोकन विंडो प्रदर्शित करते हैं।

android:windowDisablePreview = "true"स्पष्ट रूप से सेट करना यहां काम नहीं करता है। न ही मैं छप स्क्रीन के मूल विषय को यहाँTheme.Holo.NoActionBar वर्णित के रूप में सेट कर सकता हूँ , क्योंकि [दुर्भाग्य से] मेरी छप स्क्रीन एक का उपयोग करता हैActionBar

इस बीच, एप्लिकेशन जो Applicationक्लास का विस्तार नहीं करते हैं वे स्टार्टअप पर सफेद स्क्रीन नहीं दिखाते हैं।

बात यह है, आदर्श रूप में Applicationऑब्जेक्ट में किए गए इनिशियलाइज़ेशन को पहले दिखाए जाने से पहले होने की आवश्यकता होती Activityहै। तो मेरा सवाल यह है कि मैं एक वस्तु का उपयोग किए बिना ऐप स्टार्टअप पर इन आदतों को कैसे कर सकता हूं Application? संभवतः एक का उपयोग कर Threadया Service, मुझे लगता है?

यह सोचने के लिए एक दिलचस्प समस्या है। मैं इसे सामान्य तरीके से ( NoActionBarविषय को सेट करके ) बायपास नहीं कर सकता , क्योंकि वास्तव में मेरी स्प्लैश स्क्रीन वास्तव में ActionBarकुछ असंबंधित कारणों के कारण है।

ध्यान दें:

मैंने पहले ही निम्नलिखित प्रश्नों का उल्लेख किया है:

संदर्भ:


1
आपने समस्या को स्वयं पाया, आप अनुप्रयोग संदर्भ में कई init कर रहे हैं, गतिविधि के लोडिंग को अवरुद्ध करते हुए, इसको समरूपित करने का प्रयास करते हैं, जिससे लोडिंग गतिविधि कुछ थ्रेड समाप्त होने तक दिखाई देती है।
एक्सलएच

यह मदद कर सकता है
अधिकतम

1
आदर्श रूप से, एक एप्लिकेशन प्रसंस्करण को बंद कर देगा और लंबे संचालन के लिए मुख्य धागे का उपयोग नहीं करेगा। यह एक अच्छी तरह से स्वीकृत अभ्यास है। यदि एप्लिकेशन लोड होने से पहले संचालन की आवश्यकता होती है, तो उसे UI के साथ एक थ्रेड साझा नहीं करना चाहिए।
बाशोय हन्ना

1
आप पा सकते हैं कि Applicationक्लास से बाहर सभी इनिशियलाइज़ेशन कोड ले जाने के बाद भी यह एक समस्या है । यह एंड्रॉइड के नए संस्करणों के कारण "कोल्ड-स्टार्ट" एप्स का तरीका है। Google ने वास्तव में इस वर्ष Google I / O में लॉन्च किए गए अपराधों को संबोधित किया था और इसे एन में से तय किया जाएगा जो मुझे याद है। इस बीच, आपको यह देखना चाहिए कि Google "ब्रांडेड लॉन्चस्क्रीन" को क्या कहता है। इसे कैसे बनाया जाए, इस पर एक उदाहरण दिया गया है: antonioleiva.com/branded-launch-screen - शुरुआत में अधिक सफेद स्क्रीन नहीं ;-) और कृपया स्प्लैशस्क्रीन का उपयोग न करें - यह उपयोगकर्ता को परेशान कर रहा है।
--16 ः

1
Wrt थीम, ट्रिक NoActionBar थीम सेट करने के लिए नहीं है, यह प्रारंभिक गतिविधि के विषय को समायोजित करने के लिए है ताकि एक खाली थीम्ड स्क्रीन पूरी तरह से प्रारंभिक एक की तरह दिखे।
zapl

जवाबों:


86

एंड्रॉइड की ठंड शुरू होने के कारण सफेद पृष्ठभूमि के साथ समस्या होती है, जबकि ऐप मेमोरी में लोड होता है, और इसके साथ इसे टाला जा सकता है:

public class OnboardingWithCenterAnimationActivity extends AppCompatActivity {
public static final int STARTUP_DELAY = 300;
public static final int ANIM_ITEM_DURATION = 1000;
public static final int ITEM_DELAY = 300;

private boolean animationStarted = false;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    setTheme(R.style.AppTheme);
    getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_onboarding_center);
}

@Override
public void onWindowFocusChanged(boolean hasFocus) {

    if (!hasFocus || animationStarted) {
        return;
    }

    animate();

    super.onWindowFocusChanged(hasFocus);
}

private void animate() {
    ImageView logoImageView = (ImageView) findViewById(R.id.img_logo);
    ViewGroup container = (ViewGroup) findViewById(R.id.container);

    ViewCompat.animate(logoImageView)
        .translationY(-250)
        .setStartDelay(STARTUP_DELAY)
        .setDuration(ANIM_ITEM_DURATION).setInterpolator(
            new DecelerateInterpolator(1.2f)).start();

    for (int i = 0; i < container.getChildCount(); i++) {
        View v = container.getChildAt(i);
        ViewPropertyAnimatorCompat viewAnimator;

        if (!(v instanceof Button)) {
            viewAnimator = ViewCompat.animate(v)
                    .translationY(50).alpha(1)
                    .setStartDelay((ITEM_DELAY * i) + 500)
                    .setDuration(1000);
        } else {
            viewAnimator = ViewCompat.animate(v)
                    .scaleY(1).scaleX(1)
                    .setStartDelay((ITEM_DELAY * i) + 500)
                    .setDuration(500);
        }

        viewAnimator.setInterpolator(new DecelerateInterpolator()).start();
    }
}
}

ख़ाका

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?colorPrimary"
android:orientation="vertical"
>

<LinearLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="vertical"
    android:paddingTop="144dp"
    tools:ignore="HardcodedText"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="16dp"
        android:alpha="0"
        android:text="Hello world"         android:textAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse"
        android:textColor="@android:color/white"
        android:textSize="22sp"
        tools:alpha="1"
        />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="8dp"
        android:alpha="0"
        android:gravity="center"
        android:text="This a nice text"
      android:textAppearance="@style/TextAppearance.AppCompat.Widget.ActionBar.Subtitle.Inverse"
        android:textSize="20sp"
        tools:alpha="1"
        />

    <Button
        android:id="@+id/btn_choice1"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="48dp"
        android:scaleX="0"
        android:scaleY="0"
        android:text="A nice choice"
        android:theme="@style/Button"
        />

    <Button
        android:id="@+id/btn_choice2"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:scaleX="0"
        android:scaleY="0"
        android:text="Far better!"
        android:theme="@style/Button"
        />

</LinearLayout>

<ImageView
    android:id="@+id/img_logo"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:src="@drawable/img_face"
    tools:visibility="gone"
    />
</FrameLayout>

img चेहरा

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
        android:opacity="opaque">

<item android:drawable="?colorPrimary"/>
<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/img_face"/>
</item>

इस थीम को अपने स्प्लैशस्क्रीन में जोड़ें

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@null</item>
</style>

<style name="AppTheme.CenterAnimation">
    <item name="android:windowBackground">@drawable/ll_face_logo</item>
</style>

जो इस तरह से प्रभाव पैदा करेगा

एक व्यस्त बिल्ली

अधिक जानकारी और अधिक समाधानों के लिए आप इस BlogPost की जांच कर सकते हैं


3
यह अंत में अभी भी सफेद स्क्रीन और एनीमेशन में मदद नहीं करता था
मेहविश अली

यह सीधे आगे कार्यान्वयन है। आपके कोड के कुछ अन्य हिस्से हो सकते हैं जो समस्या का कारण बनते हैं। कृपया एक और प्रश्न खोलें और आपकी सहायता के लिए il हो :) :)
इवान मिलिसवल्जेविक

1
मैंने इस विषय को विषयों के बीच एनीमेट करके और बिना किसी ड्राबल के साथ थीम को बदलकर हल किया है, लेकिन सिर्फ बैक कलर ही है और फिर onWindowFocusChanged () पागल सामग्री दिखाई दे रही है और एनिमेटेड इसे अन्य वार के रूप में अच्छी तरह से संक्रमण के बीच नीचे गिरा दिया। विषयों के एनीमेशन ने बहुत मदद की
मेहविश अली

93

कृपया इस लाइन को अपने ऐप थीम में जोड़ें

<item name="android:windowDisablePreview">true</item>

अधिक जानकारी के लिए: https://developer.android.com/topic/performance/vums/launch-time#themed


25
यह 2 सेकंड और फिर एप्लिकेशन लॉन्च के लिए लटका हुआ एप्लिकेशन है, मेरे लिए उपयोगी नहीं है!
फकीर

4
grate अब यह #ffffff color नहीं दिखा रहा है, लेकिन अब यह # 000000 दिखा रहा है
Midhilaj

@ फकीर तो क्या आपको कोई हल मिला? मैं अभी भी एक समाधान देख रहा हूं, जो इस सफेद स्क्रीन को हटा देता है और लॉन्चिंग समय में भी देरी नहीं होती है।
रूपम दास

33

कृपया अपने प्रकट ऐप थीम में इन दो पंक्तियों को कॉपी और पेस्ट करें अर्थात Res / स्टाइल / AppTheme। तो यह आकर्षण की तरह काम करेगा ..

<item name="android:windowDisablePreview">true</item>
<item name="android:windowIsTranslucent">true</item>

21

सफेद स्क्रीन को हटाने के लिए सबसे पहले इसे पढ़ें - https://www.bignerdranch.com/blog/splash-screens-the-right-way/

लेकिन इससे भी महत्वपूर्ण बात यह है कि अपने शुरुआती भार को अनुकूलित करें और जब भी आपके पास इसे चलाने का समय हो, किसी भी भारी काम को टाल दें। यदि आप चाहते हैं कि हम इस पर एक नज़र डालें तो यहां अपना आवेदन वर्ग पोस्ट करें।


20

इस समस्या को हल करने का अनुशंसित तरीका उत्तरों में गायब है। इसलिए मैं यहां अपना जवाब जोड़ रहा हूं। व्हाईट-स्क्रीन-ऑन-स्टार्टअप समस्या प्रारंभिक रिक्त स्क्रीन के कारण होती है जो ऐप को लॉन्च करते समय सिस्टम प्रक्रिया खींचती है। इसे हल करने का एक सामान्य तरीका इस प्रारंभिक स्क्रीन को आपकी styles.xmlफ़ाइल में जोड़कर बंद कर देना है ।

<item name="android:windowDisablePreview">true</item>

लेकिन एंड्रॉइड डॉक्यूमेंटेशन के अनुसार इसके परिणामस्वरूप लंबे समय तक स्टार्टअप हो सकता है। Google के अनुसार इस प्रारंभिक सफेद स्क्रीन से बचने का अनुशंसित तरीका गतिविधि का उपयोग करना हैwindowBackground थीम विशेषता और शुरुआती गतिविधि के लिए एक सरल कस्टम प्रदान करना है।

ऐशे ही:

पठनीय लेआउट फ़ाइल, my_drawable.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
  <!-- The background color, preferably the same as your normal theme -->
  <item android:drawable="@android:color/white"/>
  <!-- Your product logo - 144dp color version of your app icon -->
  <item>
    <bitmap
      android:src="@drawable/product_logo_144dp"
      android:gravity="center"/>
  </item>
</layer-list>

अपने में एक नई शैली बनाएँ styles.xml

<!-- Base application theme. -->
<style name="AppTheme">
    <!-- Customize your theme here. -->               
</style>

<!-- Starting activity theme -->
<style name="AppTheme.Launcher">
    <item name="android:windowBackground">@drawable/my_drawable</item>
</style>

इस विषय को मेनिफेस्ट फ़ाइल में अपनी शुरुआती गतिविधि में जोड़ें

<activity ...
android:theme="@style/AppTheme.Launcher" />

और जब आप कॉल करने setTheme(R.style.Apptheme)से पहले अपने सामान्य विषय कॉल पर वापस संक्रमण करना चाहते हैं super.onCreate()औरsetContentView()

public class MainActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // Make sure this is before calling super.onCreate
    setTheme(R.style.Theme_MyApp);
    super.onCreate(savedInstanceState);
    // ...
  }
}

यह समस्या को हल करने के लिए अनुशंसित तरीका है और यह Google सामग्री डिज़ाइन पैटर्न से है।


14

क्या आपने सेटिंग करने की कोशिश की हैandroid:windowBackground अपनी लॉन्चर गतिविधि के विषय में, रंग या ड्रॉबल के विशेषता ?

उदाहरण के लिए यह:

<item name="android:windowBackground">@android:color/black</item>

जब लॉन्चर में जोड़ा जाता है तो थीम थीम स्टार्टअप पर काले रंग (सफेद रंग की बजाय) दिखाई देगी। अपने उपयोगकर्ताओं को कुछ दिखाते हुए, लंबी इनिशियलाइज़ेशन को छिपाने के लिए यह एक आसान ट्रिक है, और यदि आप एप्लिकेशन ऑब्जेक्ट को उप-लिंक करते हैं तो भी यह ठीक काम करता है

लंबे आरंभीकरण कार्य करने के लिए अन्य निर्माणों (यहां तक ​​कि थ्रेड्स) का उपयोग करने से बचें, क्योंकि आप अंत में ऐसे निर्माणों के जीवनचक्र को नियंत्रित करने में सक्षम नहीं हो सकते हैं। इस प्रकार की क्रियाओं को करने के लिए एप्लिकेशन ऑब्जेक्ट सही जगह है।


14

मैंने style.xml के अंतर्गत अपनी थीम में निम्नलिखित दो पंक्तियाँ जोड़ीं

    <item name="android:windowDisablePreview">true</item>
    <item name="android:windowBackground">@null</item>

एक जादू की तरह काम किया


10

मेरे पास एक ही मुद्दा था, आपको अपनी शैली को अपडेट करना होगा।

style.xml

<!-- Base application theme. -->
 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowDisablePreview">true</item>
        <item name="android:windowBackground">@null</item>
        <item name="android:windowIsTranslucent">true</item>

 </style>

आपकी मैनिफ़ेस्ट फ़ाइल नीचे की तरह दिखनी चाहिए।

<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
     // Other stuff
</application>

बाहर बाहर:

यहां छवि विवरण दर्ज करें

आशा है कि यह आपकी मदद करेगा।


2
यह मेरे लिए NativeActivity OpenGL एप्लिकेशन पर बहुत काम करता है। मुझे यकीन नहीं है कि यह उत्तरों में अधिक नहीं है क्योंकि यह सबसे पूर्ण और समीचीन उत्तर है। कोई भी एक्सएमएल फ़ाइल परिवर्तन के कुछ ही जावा में शामिल नहीं है।
स्लायन

7

जीवनचक्र कॉलबैक विधियों के भीतर, आप यह घोषणा कर सकते हैं कि जब उपयोगकर्ता गतिविधि छोड़ता है और गतिविधि में फिर से प्रवेश करता है तो आपकी गतिविधि कैसे व्यवहार करती है। याद रखें कि जिस तरह से एंड्रॉइड को डिज़ाइन किया गया है, प्रत्येक ऐप के लिए एक जीवनचक्र है। यदि आप बहुत अधिक भार डालते हैंonCreate() विधि के (जो कि लेआउट फ़ाइलों को लोड करने के लिए प्रयोग की जाने वाली विधि है और इसमें आपके पास कोई नियंत्रण है), तो सफेद स्क्रीन अधिक दिखाई देगी, क्योंकि लेआउट फ़ाइल को लोड होने में अधिक समय लगेगा।

मैं एक गतिविधि शुरू करते समय कई अलग-अलग तरीकों का उपयोग करने का सुझाव देता हूं। ऐसे हैं onStart()(एप्लिकेशन लोड होते ही पहली चीज के रूप में कहा जाता है),onActivityCreated() होने के बाद (लेआउट प्रदर्शित होने के बाद कॉल किया जा रहा है और उपयोगी है यदि आप गतिविधि शुरू करने पर कोई डेटा प्रसंस्करण कर रहे हैं)।

आपके लिए इसे आसान बनाने के लिए, नीचे आधिकारिक गतिविधि जीवनचक्र आरेख है:

यहां छवि विवरण दर्ज करें


आपके उत्तर के लिए धन्यवाद, यह बहुत दिलचस्प था। हालाँकि, मेरा मानना ​​है कि आपने मेरे प्रश्न को गलत समझा। समस्या शुरुआती में नहीं है Activity, लेकिन वैश्विक Applicationवस्तु में है। और मुझे विश्वास नहीं है कि मैं इस तरह की चिंताओं को अलग कर सकता हूं, क्योंकि इसके विपरीत Activityइसमें केवल एक onCreate()विधि है।
वाईएस

आप अनुप्रयोग वर्ग का विस्तार क्यों कर रहे हैं और गतिविधि एक नहीं कर रहे हैं?
मिशेल ला फेरला

ठीक है, तो आपका मतलब है कि मुझे Applicationपूरी तरह से वस्तु को छोड़ देना चाहिए और सभी इनिशियलाइज़ेशन कोड को पहले स्थानांतरित करना चाहिए Activity...
YS

यह है कि मैंने हमेशा अपने ऐप्स कैसे विकसित किए हैं, हालांकि यदि आप उन सभी परिवर्तनों को नहीं करना चाहते हैं, तो अन्य उत्तर आपको एप्लिकेशन वर्ग का उपयोग करके अपने मुद्दे को प्राप्त करने में मदद कर सकते हैं। आपके भविष्य के संदर्भ के लिए, मैं तुरंत एक गतिविधि वर्ग का उपयोग करने की सलाह देता हूं, और फिर कई टुकड़े। आशा है कि यह मदद करता है :)
मिशेल ला फेरला

2

क्या आपने आरंभीकरण लगाने की कोशिश की onActivityCreated ?

इनसाइड Applicationक्लास:

 registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                if(activity.getClass().equals(FirstActivity.class) {
                    // try without runOnUiThread if it will not help
                    activity.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            new InitializatioTask().execute();
                        }
                    });
                }
            }

            @Override
            public void onActivityStarted(Activity activity) {

            }

            @Override
            public void onActivityResumed(Activity activity) {

            }

            @Override
            public void onActivityPaused(Activity activity) {

            }

            @Override
            public void onActivityStopped(Activity activity) {

            }

            @Override
            public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

            }

            @Override
            public void onActivityDestroyed(Activity activity) {

            }
        });

2

जैसा कि आप पहले से ही जानते हैं कि यह सफेद स्क्रीन क्यों है, जैसा कि पृष्ठभूमि प्रक्रियाओं या एप्लिकेशन इनिशियलाइज़ेशन या बड़ी फ़ाइलों के कारण होता है, इसलिए इस पर काबू पाने के लिए बस नीचे दिए गए विचार की जांच करें।

ऐप की शुरुआत में इस सफेद स्क्रीन को रोकने के लिए, एक तरीका छप स्क्रीन है, यह सिर्फ एक तरीका है जो अंतिम नहीं है और आपको इसका उपयोग करना होगा।

जब आप अपनी स्प्लैश स्क्रीन से दिखा सकते हैं। xml फ़ाइल, तब यह मुद्दा भी वही रहेगा,

तो आपको छप स्क्रीन के लिए शैली में .tml फ़ाइल बनाना होगा और वहां आपको अपनी छप छवि के रूप में विंडो बैकग्राउंड सेट करना होगा और फिर उस विषय को अपनी फ़ाइल से अपनी स्प्लैश गतिविधि पर लागू करना होगा। इसलिए अब जब आप ऐप चलाएंगे, तो पहले यह थीम सेट करेगा और इस तरह से उपयोगकर्ता सफेद स्क्रीन के बजाय सीधे छप छवि देख पाएंगे।


2

दोनों गुण काम करते हैं

    <style name="AppBaseThemeDark" parent="@style/Theme.AppCompat">
            <!--your other properties -->
            <!--<item name="android:windowDisablePreview">true</item>-->
            <item name="android:windowBackground">@null</item>
            <!--your other properties -->
    </style>

2

कृपया एक बार यह कोशिश करें।

1) एक ड्रा करने योग्य फ़ाइल splash_background.xml को क्रेट करें

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/{your color}" />

    <item>
        <bitmap
            android:layout_width="@dimen/size_250"
            android:layout_height="@dimen/size_100"
            android:gravity="center"
            android:scaleType="fitXY"
            android:src="{your image}"
            android:tint="@color/colorPrimary" />
    </item>

</layer-list>

2) इसे style.xml में डालें

     <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
         <item name="android:windowBackground">@drawable/background_splash</item>
     </style>

3) अपने AndroidMainfest.xml में लॉन्च गतिविधि के लिए उपरोक्त थीम सेट करें।

       <activity
            android:name=".SplashScreenActivity"
            android:screenOrientation="portrait"
            android:theme="@style/SplashTheme"
            android:windowSoftInputMode="stateVisible|adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

0

मूल्यों / शैलियों में आइटम लिखें। xml:

<item name="android:windowBackground">@android:color/black</item>

उदाहरण के लिए, AppTheme में:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>

    <item name="android:windowBackground">@android:color/black</item>

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

0
Style :- 
<style name="SplashViewTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/splash</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

In Manifest :- 
<activity android:name=".SplashActivity"
        android:theme="@style/SplashViewTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

0

डिबगिंग के दौरान उस सफेद स्क्रीन वाले किसी के लिए, ध्यान रखें कि यदि आप डिबगिंग कर रहे हैं तो लोड होने में अधिक समय लगेगा। यदि आप अपनी रिलीज़ APK बनाते हैं और इसे अपने फ़ोन पर इंस्टॉल करते हैं, तो आप देखेंगे कि इसे लोड करने में बहुत कम समय लगता है।

तो डिबग संस्करण के साथ स्टार्टअप समय स्टार्टअप संस्करण के साथ स्टार्टअप समय के बराबर नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.