2013-01-16 9 views
15

Jestem nowicjuszem BlackBerry i tworzeniem menu z opcjami. Każda opcja zawiera obraz bitmapy i etykietę.Jak zmienić obraz tła menedżera terenowego podczas zmiany ostrości w BlackBerry Java

Jest to kod dla pierwszej pozycji menu:

hmf1_vfm1 = new VerticalFieldManager(Field.FIELD_HCENTER |   VErrticalFieldManager.USE_ALL_WIDTH | VerticalFieldManager.FIELD_HCENTER | VerticalFieldManager.FOCUSABLE | Field.FOCUSABLE) 
{ 
boolean isFocus; 
//Bitmap bmp1 = Bitmap.getBitmapResource("mnu_tile1.png"); 
protected void sublayout(int maxWidth, int maxHeight) 
{ 
super.sublayout(100,125); 
setExtent(100,125); 
} 

protected void paint(Graphics g) { 
try 
{ 
    //g.setBackgroundColor(0x504A4B); 
    //g.drawBitmap(0, 0, bmp1.getWidth(), bmp1.getHeight(), bmp1, 0, 0); 
        g.clear(); 
    Background bg = BackgroundFactory.createBitmapBackground(Bitmap.getBitmapResource("mnu_tile1.png")); //mnu_tile1.png 
        this.setBackground(bg); 
        super.paint(g); 
       } 
       catch (IllegalArgumentException e) { 
        //SupportClass.showLog(TAG+" err 2 : "+e); 
       } 
      } 

      protected void onFocus(int direction) { 
       isFocus = true; 
       super.onFocus(direction); 
      } 
      protected void onUnfocus() { 
       isFocus = false; 
       super.onUnfocus(); 
      } 

      protected boolean navigationClick(int status, int time) { 

       //SupportClass.showLog("New Order...navigationClick"); 
       return true; 
      } 
      public boolean isFocusable() { 
       return true; 
      } 
      /*protected boolean touchEvent(net.rim.device.api.ui.TouchEvent message) { 

       //SupportClass.showLog("New Order...touchEvent"); 
       return true; 
      };*/ 
     }; 

bitmapy & pola etykiet są dodawane do tej VFM. przy okazji jak

BitmapField bfNO = new BitmapField(bmpNO,Field.FIELD_HCENTER | Field.FOCUSABLE) 
     { 
      protected boolean navigationClick(int status, int time) { 
       SupportClass.showLog("bitmap...navigationClick"); 
       return true; 
      } 
      protected void paint(Graphics graphics) { 
       //this.setBackground(BackgroundFactory.createSolidTransparentBackground(Color.BLACK,0)); 
       super.paint(graphics); 
      } 
     }; 

LabelField txtNO = new LabelField("New Order",LabelField.FIELD_HCENTER | Field.FOCUSABLE) 
     { 
      protected void paint(Graphics g) { 
       g.setColor(Color.WHITE); 
       //g.setBackgroundColor(0x00000000); 
       super.paint(g); 
      } 
      protected boolean navigationClick(int status, int time) { 
       SupportClass.showLog("lable...navigationClick"); 
       return true; 
      } 
     }; 
  • chcę skupić pionową menedżera dziedzinie, która zawierającą etykietę obraz &, natomiast ustawienie tła nie widzę tła. Sądzę, że niektóre warstwy pokrywają się w tle.

  • Również chcę zmienić kolor selektora pól (niebieskie tło) na przezroczyste.

  • Proszę mi powiedzieć, jaki błąd popełniam.

+0

czy sprawdziłeś PictureBackgroundButtonField.java tutaj ...! http://stackoverflow.com/questions/8942225/tab-bar-in-blackberry-without-toolbarmanager/8967671#8967671 – alishaik786

+0

To zostało zadane ponad rok temu. Jeśli OP nadal jest zainteresowany odpowiedzią, proszę zaktualizować pytanie, a ja udzielę pomocy. W przeciwnym razie wydaje się, że nie ma żadnej wartości odpowiadającej na to, ponieważ kod jest specyficzny i podejrzewam, że ogólne punkty, które można w tym celu ująć, zostały już omówione w innych, lepszych pytaniach. –

Odpowiedz