Sabtu, 27 April 2013

Source Blackberry : Splash screen Image Resize in Blackberry

wah benar-benar menyebalkan develop Blackberry, begitu sangat minim source yang diberikan, nyari-nyari digoogle, tidak pernah full yang diberikan.. Kini gw menulis sebagai dokumentasi kerja gw, yang gw pisah source nya. bagaimana sih cara membuat splashscreen blackberry.. tentu kalian yang ingin belajar membuat program blackberry dan ingin tampilan bagus pada awal aplikasi, dengan menggunakan splashscreen sebagai pembukaan atau perkenalan suatu program bagi para programmer. splashscreen yang akan dibuat pada artikel ini splashscreen image resize, yang artinya pada tampilan splashscreen gambar ini, akan mengikuti ukuran layar pada tiap blackberry.. langsung aja gan step  by step membuat splash screen image sebagai berikut :

1. Buat new project pada eclips anda, setelah dibuat. ente bakalan dapet dua file class, yang bernama MyApp dan MyScreen. masalah code nya ente copas aje, atau download file-Nya klik disni

2. Sediakan dua gambar dengan ukuran 400 x 300 dan 305 x 398, mengapa gw membuat 2 ukuran gambar ?? karena layar pada blackberry, memiliki dua kategori, vertikal dan horizontal, seperti contoh BB touch dan bold. bagi yang males buat gambarnya, nih ane sediain gambarnya. ini contoh gambar yang disediakan untuk splash screen image resize.


3. Setelah gambar sudah terbuat, silahkan masukan gambar tersebut pada project blackberry ente, di dalam folder <name project ente>/res/ letakan didalam sini.

4. Buka kembali eclips, atau project anda. buat script splashscreen sebagai berikut

  
package mypackage;

import java.util.Timer;
import java.util.TimerTask;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.system.Display;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.decor.Background;
import net.rim.device.api.ui.decor.BackgroundFactory;

public final class MyScreen extends MainScreen
{
  Bitmap background;
  private MainScreen next;
  private UiApplication application; 
  private Timer timer = new Timer();
  private int deviceHeight = Display.getHeight();
  private int devicewidth = Display.getWidth();
  
public MyScreen(UiApplication ui, MainScreen next)
{  
 super(NO_VERTICAL_SCROLL|NO_VERTICAL_SCROLLBAR);
 
  this.application = ui;
  this.next = next;
  HorizontalFieldManager vfm = new HorizontalFieldManager(USE_ALL_HEIGHT | 
  USE_ALL_WIDTH | HorizontalFieldManager.NO_HORIZONTAL_SCROLL);
 if(deviceHeight > devicewidth){
  vfm.setBackground(BackgroundFactory.createBitmapBackground(
  Bitmap.getBitmapResource("sezukaprogram.png"), Background.POSITION_X_CENTER,
  Background.POSITION_Y_CENTER,Background.REPEAT_SCALE_TO_FIT));
 }
 else{
   vfm.setBackground(BackgroundFactory.createBitmapBackground(
  Bitmap.getBitmapResource("sezukaprogram2.png"), Background.POSITION_X_CENTER,
  Background.POSITION_Y_CENTER,Background.REPEAT_SCALE_TO_FIT));
 }

     add(vfm);
     timer.schedule(new ExitSplashCountDown(), 5000L);             
  application.pushScreen (this); 
    }
 public void dismiss() {             
  timer.cancel();             
  application.popScreen (this);             
  application.pushScreen (next);         
 }               
 
        
 private final class ExitSplashCountDown extends TimerTask 
 {             
  public void run() {                
   ExitSplashThread dThread = new ExitSplashThread();                
   application.invokeLater (dThread);             
  }         
 }                

      
 private final class ExitSplashThread implements Runnable {             
  public void run() {                  
  dismiss();             
    }              
   
 protected boolean navigationClick(int status, int time) {              
  dismiss();              
  return true;         
 }          
 
 
 protected boolean navigationMovement(int dx, int dy, int status, 
 int time) {             
  return false;         
 }          
 
    
 
 protected boolean navigationUnclick(int status, int time) {            
  return false;         
 }
}
}
  

Nah Daripada Bingung,  lihat tulisan yang berwarna merah.. itu untu membedakan layar seperti apakah ukuran yang digunakan user saya membuka aplikasi tersebut...

daripada bingung, langsung saja,, download sourcenya, Klik Disini..
atau bisa ditest langsung di Blackberry anda, Klik Disini..

SELAMAT MENCOBA, JANGAN LUPA COMMANTAR ATAU DI TUNGGU KOMENTARNYA..

0 komentar: