android - स्मार्ट फोन का स्क्रीन टच काम नहीं करे तो क्या करे




ऐप स्टार्ट अप पर श्वेत स्क्रीन कैसे ठीक करें? (8)

AndroidManifest.xml फ़ाइल में प्रारंभिक गतिविधि के लिए पारदर्शी थीम का जिक्र करें।
पसंद:

<activity
        android:name="first Activity Name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" >
 <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

मेरे पास एक एंड्रॉइड ऐप है जो स्टार्टअप पर 2 सेकंड के लिए एक सफेद स्क्रीन प्रदर्शित करता है। मेरे अन्य ऐप्स ऐसा नहीं करते हैं, लेकिन यह एक करता है। मैंने उम्मीद के साथ एक स्प्लैशस्क्रीन भी लागू किया है कि यह इसे ठीक करेगा। क्या मुझे अपनी स्प्लैश स्क्रीन नींद का समय बढ़ाना चाहिए? धन्यवाद।


आपको तत्काल रन एंड्रॉइड स्टूडियो सेटिंग्स को अक्षम करना चाहिए।

फ़ाइल> सेटिंग्स> बिल्ड, निष्पादन, परिनियोजन> त्वरित रन वहां दिखाए गए सभी विकल्पों को अनचेक करें।

नोट: इंस्टेंट रन के कारण व्हाइट स्क्रीन समस्या केवल डीबग बिल्ड के लिए है, यह समस्या रिलीज बिल्ड पर दिखाई नहीं देगी।


इसे आपके मैनिफेस्ट में विषय सेट करके तय किया जा सकता है

<activity
        android:name=".MySplashActivityName"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" >
 <intent-filter>
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

और उसके बाद यदि आप मिल रहे हैं
java.lang.IleglegalStateException: आपको इस गतिविधि के साथ एक थीम.AppCompat विषय (या वंशज) का उपयोग करने की आवश्यकता है।
तो आपको अपनी MySplashActivity में AppCompatActivity की बजाय गतिविधि को विस्तारित करने की आवश्यकता हो सकती है।

आशा करता हूँ की ये काम करेगा!


इसे एक कस्टम शैली में रखें और यह सभी समस्याओं को हल करता है। हैकी पारदर्शी फिक्स का उपयोग करने से आपकी टास्क बार और एनएवी बार पारदर्शी हो जाएगी और स्प्लैशस्क्रीन या मुख्य स्क्रीन स्पेगेटी जैसी दिखाई देगी।

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


नीचे वह लिंक है जो स्पलैश स्क्रीन को डिज़ाइन करने का सुझाव देता है। सफेद / काले रंग की पृष्ठभूमि से बचने के लिए हमें स्प्लैश पृष्ठभूमि के साथ एक थीम को परिभाषित करने की आवश्यकता है और उस थीम को मेनिफेस्ट फ़ाइल में छपने के लिए सेट करें।

https://android.jlelse.eu/right-way-to-create-splash-screen-on-android-e7f1709ba154

resash_background.xml res / drawable फ़ोल्डर के अंदर

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

 <item android:drawable=”@color/colorPrimary” />

 <item>
 <bitmap
 android:gravity=”center”
 android:src=”@mipmap/ic_launcher” />
 </item>

</layer-list>

नीचे शैलियों जोड़ें

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    <!-- Splash Screen theme. -->
    <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowBackground">@drawable/splash_background</item>
    </style>

जैसा कि नीचे दिखाया गया है मैनिफेस्ट सेट थीम में

<activity
            android:name=".SplashActivity"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
    </activity>

यह एक उदाहरण ऐप पर मेरा ऐपथीम है:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowIsTranslucent">true</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

जैसा कि आप देख सकते हैं, मेरे पास डिफ़ॉल्ट रंग हैं और फिर मैंने android:windowIsTranslucent जोड़ा android:windowIsTranslucent और इसे true सेट करें।

जहां तक ​​मैं एंड्रॉइड डेवलपर के रूप में जानता हूं, यह एकमात्र चीज है जिसे आपको एप्लिकेशन की शुरुआत में श्वेत स्क्रीन को छिपाने के लिए सेट करने की आवश्यकता है।


आप ट्यूब की तरह .. शुरुआत में वे सफेद स्क्रीन के बजाय आइकन स्क्रीन दिखाते हैं। और 2 सेकंड के बाद होम स्क्रीन दिखाता है।

पहले res / drawable में एक XML खींचने योग्य बनाएं।

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

    <item
        android:drawable="@color/gray"/>

    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher"/>
    </item>

</layer-list>

इसके बाद, आप थीम में अपनी स्प्लैश गतिविधि की पृष्ठभूमि के रूप में इसे सेट करेंगे। अपनी शैलियों.एक्सएमएल फ़ाइल पर नेविगेट करें और अपनी स्प्लैश गतिविधि के लिए एक नई थीम जोड़ें

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

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

</resources>

अपने नए स्पलैशथीम में, विंडो एक्सएमएल को अपने एक्सएमएल ड्रॉइंग में सेट करें। इसे अपने AndroidManifest.xml में अपनी स्प्लैश गतिविधि की थीम के रूप में कॉन्फ़िगर करें:

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

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

यह लिंक आपको जो चाहिए वो देता है। चरण-दर-चरण प्रक्रिया। https://www.bignerdranch.com/blog/splash-screens-the-right-way/

अद्यतन करें:

layer-list इस तरह से भी सरल हो सकती है (जो <bitmap> टैग के विपरीत, केंद्रित लोगो के लिए वेक्टर ड्रॉबल्स स्वीकार करता है):

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Background color -->
    <item android:drawable="@color/gray"/>

    <!-- Logo at the center of the screen -->
    <item
        android:drawable="@mipmap/ic_launcher"
        android:gravity="center"/>
</layer-list>

दोनों गुण काम करता है उनमें से किसी एक का उपयोग करें।

    <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>




app-startup