Come cambiare lo sfondo del fieldmanager orizzontale
-
12-11-2019 - |
Domanda
Voglio impostare lo sfondo di orizzontefieldmanager. Il codice di esempio che ho cercato sta impostando lo sfondo utilizzando il gradiente per lo sfondo della schermata principale.
//create gradient linear for background
this.getMainManager().setBackground(BackgroundFactory.createLinearGradientBackground(0x0099CCFF,
0x0099CCFF,0x00336699,0x00336699)
);
.
Quindi cerco di utilizzare lo stesso schema per impostare lo sfondo su orizzontalfieldmanager, poiché ha questo metodo.Ma non funzionerà.Ecco il codice
HorizontalFieldManager hManager = new HorizontalFieldManager();
Bitmap bitmapImage = null;
bitmapImage = Bitmap.getBitmapResource("img/home.png");
tabHome = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
| BitmapField.HIGHLIGHT_FOCUS);
bitmapImage = Bitmap.getBitmapResource("img/in.png");
tabCheckInOut = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
| BitmapField.HIGHLIGHT_FOCUS);
bitmapImage = Bitmap.getBitmapResource("img/barcode.png");
tabBarcode = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
| BitmapField.HIGHLIGHT_FOCUS);
bitmapImage = Bitmap.getBitmapResource("img/options.png");
tabOptions = new BitmapField(bitmapImage, BitmapField.FOCUSABLE
| BitmapField.HIGHLIGHT_FOCUS);
tabHome.setFocusListener(this);
tabCheckInOut.setFocusListener(this);
tabBarcode.setFocusListener(this);
tabOptions.setFocusListener(this);
Background topBack = BackgroundFactory.createSolidBackground(0x00606A85);
hManager.setBackground(topBack);
hManager.add(tabHome);
hManager.add(tabCheckInOut);
hManager.add(tabBarcode);
hManager.add(tabOptions);
add(hManager);
.
Sto usando orizzontalefieldmanager e aggiungi 4 bitmapfield, quindi uso in backgroundFactory per creare solidbackground e impostarlo sul gestore Ma quando lo eseguo, il colore di sfondo non si applica.L'esempio del gradiente funziona bene.C'è qualcosa che mi manca?Per favore aiutami.
Grazie
Soluzione
Dopo aver effettuato una ricerca web profonda.Ecco la risposta ragazzi
HorizontalFieldManager manager = new HorizontalFieldManager()
{
public void paint(Graphics graphics)
{
graphics.setBackgroundColor(0x000000FF);//blue
graphics.clear();
super.paint(graphics);
}
};
.
Aggiornamento: Devi usare solo il colore del web come 0x0066996F dovrebbe funzionare Ma 0x00606A85 non funzionerebbe. Se si desidera un colore specifico, ti consiglio di usare bitmap.
Aggiornamento:
Un'altra soluzione
. HorizontalFieldManager manager = new HorizontalFieldManager(Field.USE_ALL_WIDTH);
manager.setBackground(BackgroundFactory.BackgroundFactory
.createSolidBackground(0x00cccccc));