Java editfield下方的贴纸隐藏/显示blackberry
我是新黑莓7开发。 我正在做一个聊天应用程序,它将有标签,我在res文件夹中有标签,现在我想用隐藏/显示选项将它们添加到editfield下面的聊天屏幕,但我不知道怎么做。请帮助我。我搜索了很多,但没有得到答案 你可以看到旁边有editfield的图片,我想有隐藏/显示按钮,在editfield下面我有显示标签列表。Java editfield下方的贴纸隐藏/显示blackberry,java,blackberry,editfield,Java,Blackberry,Editfield,我是新黑莓7开发。 我正在做一个聊天应用程序,它将有标签,我在res文件夹中有标签,现在我想用隐藏/显示选项将它们添加到editfield下面的聊天屏幕,但我不知道怎么做。请帮助我。我搜索了很多,但没有得到答案 你可以看到旁边有editfield的图片,我想有隐藏/显示按钮,在editfield下面我有显示标签列表。 请帮帮我。过了这么多天,我现在正在查看聊天界面。我得到它,因为我做了隐藏和显示的贴纸使用经理 代码如下: VerticalFieldManager emojiiVerticalSc
请帮帮我。过了这么多天,我现在正在查看聊天界面。我得到它,因为我做了隐藏和显示的贴纸使用经理 代码如下:
VerticalFieldManager emojiiVerticalScroll = new VerticalFieldManager(USE_ALL_WIDTH);
VerticalFieldManager stickerhorizontalScroll = new VerticalFieldManager(USE_ALL_WIDTH | VERTICAL_SCROLL | VERTICAL_SCROLLBAR) {
protected void sublayout(int maxWidth, int maxHeight) {
setExtent(maxWidth, 250);
super.sublayout(maxWidth, 250);
}
};
emojiiBitmapField2 = new BitmapField(emojii1, Field.FIELD_HCENTER | Field.FOCUSABLE) {
protected void drawFocus(Graphics graphics, boolean on) {
graphics.setBackgroundColor(0xc4c4c4);
super.drawFocus(graphics, on);
};
protected boolean navigationClick(int status, int time) {
fieldChangeNotify(1);
return true;
};
};
Bitmap stickers = Bitmap.getBitmapResource("img/s0010.png");
stickers = bestFit(stickers, Display.getWidth() / 3 - 60, Display.getHeight() / 3, 0);
stikersField = new BitmapField(stickers, Field.FOCUSABLE | DrawStyle.RIGHT) {
protected void layout(int width, int height) {
setExtent(60, 60);
super.layout(60, 60);
}
protected void drawFocus(Graphics graphics, boolean on) {
graphics.setBackgroundColor(0xc4c4c4);
super.drawFocus(graphics, on);
}
protected boolean navigationClick(int status, int time) {
fieldChangeNotify(1);
return true;
}
};
从当地商店获得所有贴纸并添加到经理
stickerhorizontalScroll.add(emojiiBitmapField2);
emojiiBitmapField2.setChangeListener(new FieldChangeListener() {
Row r;
public void fieldChanged(Field field, int context) {
openDatabse();
int i = field.getIndex() + 1;
try {
// 1. create a SQLite DB
// 3 insert a record
// 4 query the record
Statement st3 = db.createStatement("SELECT Name,ImageName FROM Smilies where id=" + i);
try {
st3.prepare();
} catch (Exception e) {
Dialog.alert("Exception" + e.getMessage());
}
Cursor c = st3.getCursor();
while (c.next()) {
r = c.getRow();
stickerImageName = r.getString(1);
}
st3.close();
closeDatabase();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
});
}
使用布尔变量显示和隐藏底部管理器
stikersField.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
if (!option_sticker) {
try {
scrollToBottom();
ef.setFocus();
emojiiVerticalScroll.add(stickerhorizontalScroll);
} catch (Exception e) {
System.out.println(e.getMessage());
}
option_sticker = true;
setStatus(emojiiVerticalScroll);
} else {
option_sticker = false;
emojiiVerticalScroll.delete(stickerhorizontalScroll);
// setStatus(stickerVerticalScroll);
setStatus(emojiiVerticalScroll);
}
}
});
我建议您尝试自己实现一些这类功能,然后返回一个精确的编码问题。通过将内容删除并添加到屏幕或添加到屏幕的管理器,可以隐藏和显示内容。因此,在这个屏幕上添加一个ButtonField,并让ButtonFieldChangeListener添加额外的字段。