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