2011-02-14 4 views

答えて

3

単純なスプラッシュスクリーンの実装である:

public class SplashScreen extends Activity { 


    private Handler mHandler; 

    private long delay = 1000; 
    private int i = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.activity_splash_screen); 

     Timer timer = new Timer(); 
     timer.schedule(task, delay); 
    } 


    TimerTask task = new TimerTask() { 
     @Override 
     public void run() { 

     Intent in = new Intent().setClass(SplashScreen.this, 
         LoginActivity.class).addFlags(
         Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(in); 
     finish(); 

     } 
    }; 

} 

可変遅延が別のものに切り替える前に、スプラッシュスクリーン活動の休止時間を示しています。

0

iは、ロケーションベースのアプリケーションをinitalizeスプラッシュ画面のための完全なコードを添付しました。ここ

public class splashScreen extends Activity { 

private LocationManager locationManager = null; 
private LocationListener locationListener = null; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.splash); 
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    locationListener = new MyLocationListener(); 
    // Start the Animation of SplashScreen 
    new Handler().postDelayed(new Runnable() { 
     public void run() { 
      ImageView imageView = (ImageView) findViewById(R.id.splashImageView); 
      AnimationDrawable animation = (AnimationDrawable) imageView.getDrawable(); 
      animation.start(); 
     } 
    }, 500); 
    // Obtain user's location 
    new Handler().post(new Runnable() {   
     public void run() { 
      locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
      String locationProvider = LocationManager.GPS_PROVIDER; 
      locationManager.requestLocationUpdates(locationProvider, 1000, 0, locationListener); 
      try { wait(5000); } catch (Exception e) {} 
      if(locationManager != null) { 
       locationManager.removeUpdates(locationListener); 
      } 
     } 
    }); 
    // Start the Tabs screen. 
    new Handler().postDelayed(new Runnable() { 
     public void run() { 
      Bundle extras = new Bundle(); 
      extras.putDouble(Constants.LATITUDE, ((MyLocationListener)locationListener).getLat()); 
      extras.putDouble(Constants.LONGITUDE, ((MyLocationListener)locationListener).getLng()); 
      Intent intent = new Intent(splashScreen.this, MainActivity.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      intent.putExtras(extras); 
      startActivity(intent); 
     } 
    }, 5000); 
} 

}

関連する問題