2011-06-19 16 views
8

मैं एक ऐप विकसित कर रहा हूं, जिस समय यह ऑनरेट पॉइंट से लोड हो रहा है, मेरे पास सिर्फ एक ब्लैक स्क्रीन है (जब तक ऐप को पैर नहीं मिल जाता)। अन्य ऐप्स को देखते हुए उनके पास एक कंपनी लोगो या ठंडा छवि है जो कुछ सेकंड तक पॉप अप करती है, क्या कोई मुझे बता सकता है कि यह कैसे करें?स्टार्ट अप/लोडिंग पर छवि

और यदि आप इसे कम से कम समय के लिए प्रदर्शित करने के लिए सेट कर सकते हैं?

उत्तर

10

एक नई गतिविधि है कि कुछ सेकंड के लिए छवि प्रदर्शित करता है और अपने मुख्य गतिविधि पर रीडायरेक्ट बनाएं:

public class SplashActivity extends Activity 
{ 
    private static final long DELAY = 3000; 
    private boolean scheduled = false; 
    private Timer splashTimer; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash); 

     splashTimer = new Timer(); 
     splashTimer.schedule(new TimerTask() 
     { 
      @Override 
      public void run() 
      { 
       SplashActivity.this.finish(); 
       startActivity(new Intent(SplashActivity.this, MainActivity.class)); 
      } 
     }, DELAY); 
     scheduled = true; 
    } 

    @Override 
    protected void onDestroy() 
    { 
     super.onDestroy(); 
     if (scheduled) 
      splashTimer.cancel(); 
     splashTimer.purge(); 
    } 
} 

इस गतिविधि के लिए पृष्ठभूमि के रूप में अपनी छवि को सेट करें। उम्मीद है की वो मदद करदे। सौभाग्य!

+2

लेकिन कृपया 'टाइमरटास्क' के बजाय 'हैंडलर' का उपयोग करें। – inazaruk

+0

क्या आपने इस कोड को एमुलेटर या असली डिवाइस पर परीक्षण किया था? एंड्रॉइड पर कोई 'टाइमर' नहीं है! –

+2

टाइमर एंड्रॉइड ऑब्जेक्ट नहीं है, इसकी जावा वस्तु है। यह मेरे ऐप्स में से एक में एक कामकाजी कोड है। यह एक डिवाइस और एक एमुलेटर दोनों पर काम करता है। अपनी आयात सूची में निम्नलिखित जोड़ें और आप ठीक होंगे: आयात java.util.Timer; आयात java.util.TimerTask; –

1

यह स्टार्ट अप छवि जिसे 'स्पलैश स्क्रीन' भी कहा जाता है। Here आप स्प्लैश स्क्रीन बनाने के तरीके को पा सकते हैं।

0

आपकी ज़रूरतें स्प्लैश स्क्रीन को कॉल करें। मेरा स्प्लैश स्क्रीन कोड यहां है।

बस नई गतिविधि जोड़ें और इस गतिविधि को खोलने के लिए एप्लिकेशन सेट करें।

सार्वजनिक वर्ग SplashActivity फैली DeviceInfoAbstractActivity {

@SuppressLint("MissingSuperCall") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState, R.layout.activity_splash); 

    passScreen(); 
} 

private void passScreen() { 

    new CountDownTimer(1000, 2000) { 

     @Override 
     public void onTick(long millisUntilFinished) { 

     } 

     @Override 
     public void onFinish() { 

      Intent intent = RDAIntentHelpers.getClearCacheIntent(); 

      intent.setClass(SplashActivity.this, MainActivity.class); 

      startActivity(intent); 

     } 
    }.start(); 
} 

@Override 
public void onBackPressed() { 
    //no exit 
} 
} 

और यह मेरा getClearCacheIntent() विधि

public static Intent getClearCacheIntent() { 

    Intent intent = new Intent(); 

    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

    return intent; 
} 
इन के बाद

, अपने स्प्लैश स्क्रीन 2 सेकंड के लिए स्क्रीन पर रहता है। जो भी आप चाहते हैं =)

संबंधित मुद्दे