pagina - El clic de BitmapField no funciona en la aplicación Blackberry
whatsapp blackberry curve (1)
Puede usar un campo personalizado que contenga una imagen y se comporte como un botón en lugar de bitmapfield. Aquí está el código que sugiero:
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Graphics;
public class CustomButton extends Field{
protected Bitmap icon;
protected int fieldWidth;
protected int fieldHeight;
public CustomButton (String iconSource,long style) {
super(style);
icon = Bitmap.getBitmapResource(iconSource);
fieldHeight = icon.getHeight();
fieldWidth = icon.getWidth();
}
public int getPreferredWidth() {
return fieldWidth;
}
public int getPreferredHeight() {
return fieldHeight;
}
protected void layout(int arg0, int arg1) {
setExtent(getPreferredWidth(), getPreferredHeight());
}
protected void drawFocus(Graphics graphics, boolean on){ }
protected void paint(Graphics graphics) {
graphics.fillRect(0, 0, fieldWidth, fieldHeight);
graphics.drawBitmap(0,0, fieldWidth, fieldHeight, icon, 0, 0);
}
protected boolean navigationClick(int status, int time) {
fieldChangeNotify(0);
return true;
}
}
puede usar este botón como un botón predeterminado y cambiar el oyente utilizando la función setChangeListener.
CustomButton aButton = new CustomButton ("graphics/someIcon.png");
aButton.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
UiApplication.getUiApplication().popScreen(getScreen());
UiApplication.getUiApplication().pushScreen(new AccMainScreen());
}
});
Arreglé 7 bimapfield en horizontal si hago clic en el mapa de bits quiero presionar la otra pantalla Aquí está mi código pero no obtuve la otra pantalla ¿Alguien me puede ayudar qué es lo que está mal en este código?
BitmapField bitmap1 = new BitmapField(
Bitmap.getBitmapResource("profile_n.png"),FOCUSABLE | DrawStyle.HCENTER)
{
protected void onFocus(int direction)
{
rollno=1;
this.getScreen().invalidate();
}
protected void onUnfocus()
{
}
protected boolean navigationClick(int status, int time){
UiApplication.getUiApplication().popScreen(getScreen());
UiApplication.getUiApplication().pushScreen(new AccMainScreen());
return true;
}
};