Sono un novizio di BlackBerry e creazione di menu con opzioni. Ogni opzione contiene un'immagine e un'etichetta bitmap.Come modificare l'immagine di sfondo di un gestore di campo mentre il cambio di messa a fuoco in BlackBerry Java
Questo è il codice per la prima voce di 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;
};*/
};
I campi etichetta bitmap & vengono aggiunti a questo VFM. tra l'altro come
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;
}
};
voglio mettere a fuoco il direttore di campo verticale che contiene l'etichetta immagine &, durante l'impostazione del fondo non riesco a vedere il fondo. Immagino che alcuni livelli siano sovrapposti sullo sfondo.
Inoltre, voglio cambiare il colore del selettore dei campi (sfondo blu) in trasparente.
Per favore dimmi che errore sto facendo.
hai controllato PictureBackgroundButtonField.java di qui ...! http://stackoverflow.com/questions/8942225/tab-bar-in-blackberry-without-toolbarmanager/8967671#8967671 – alishaik786
Questo è stato chiesto più di un anno fa. Se l'OP è ancora interessato a una risposta, ti preghiamo di aggiornare la domanda e fornirò assistenza. Altrimenti sembra che non ci sia alcun valore nel rispondere a questo dato che il codice è specifico e sospetto che i punti generali che potrebbero essere fatti su questo argomento siano già stati trattati in altre, migliori domande. –