- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ListField 表现得很奇怪,我没有很多 BB 开发经验,但在互联网上进行了大量搜索后,我最终得到了以下结果。我用过this tutorial做很多 ListField 的事情。
这是我第一次打开屏幕并且没有执行任何其他操作时的屏幕截图:
这是我向下滚动时的屏幕截图,这对所有字段都有相同的效果:
这是我根据上述教程根据我的需求调整的实现:
private Bitmap p1;
TableRowManager row;
Vector rows;
public ImageListField(List list) {
/* Init & Declaration */
setEmptyString("This ListField has No Data", DrawStyle.HCENTER);
setCallback(this);
setRowHeight(50);
Font.getDefault();
p1 = Bitmap.getBitmapResource("no-image.png");
rows = new Vector();
for (int x = 0; x < list.size(); ++x) {
Event e = (Event)list.getAt(x);
row = new TableRowManager();
BitmapField myImageField = new BitmapField(p1);
row.add(myImageField);
row.add(new LabelField(e.Name,
DrawStyle.ELLIPSIS | FOCUSABLE){
public void paint(Graphics g) {
g.setBackgroundColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.WHITE);
g.clear();
super.paint(g);
}
});
if(e.DateFrom.compareTo(e.DateTo) == 0)
{
row.add(new LabelField(e.DateFrom,
DrawStyle.ELLIPSIS | FOCUSABLE){
public void paint(Graphics g) {
g.setBackgroundColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.WHITE);
g.clear();
super.paint(g);
}
});
}
else
{
row.add(new LabelField(e.DateFrom + " - " + e.DateTo,
DrawStyle.ELLIPSIS | FOCUSABLE){
public void paint(Graphics g) {
g.setBackgroundColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.WHITE);
g.clear();
super.paint(g);
}
});
}
if(e.TimeFrom.compareTo(e.TimeTo) == 0)
{
row.add(new LabelField(e.TimeFrom,
DrawStyle.ELLIPSIS | FOCUSABLE){
public void paint(Graphics g) {
g.setBackgroundColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.WHITE);
g.clear();
super.paint(g);
}
});
}
else
{
row.add(new LabelField(e.TimeFrom + " - " + e.TimeTo,
DrawStyle.ELLIPSIS | FOCUSABLE){
public void paint(Graphics g) {
g.setBackgroundColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.WHITE);
g.clear();
super.paint(g);
}
});
}
row.add(new LabelField(e.Address,
DrawStyle.ELLIPSIS | FOCUSABLE){
public void paint(Graphics g) {
g.setBackgroundColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.WHITE);
g.clear();
super.paint(g);
}
});
row.add(new LabelField("R " + e.EntranceFee,
DrawStyle.ELLIPSIS | FOCUSABLE){
public void paint(Graphics g) {
g.setBackgroundColor(Color.BLACK);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.WHITE);
g.clear();
super.paint(g);
}
});
rows.addElement(row);
}
setSize(rows.size());
}
public void drawListRow(ListField listField, Graphics graphics, int index,
int y, int width) {
// TODO Auto-generated method stub
ImageListField list = (ImageListField) listField;
TableRowManager rowManager = (TableRowManager) list.rows
.elementAt(index);
rowManager.drawRow(graphics, 0, y, width, 119);
}
public Object get(ListField listField, int index) {
// TODO Auto-generated method stub
return rows.elementAt(index).toString();
}
public int getPreferredWidth(ListField listField) {
// TODO Auto-generated method stub
return Graphics.getScreenWidth();
}
public int getRowHeight() {
// TODO Auto-generated method stub
return 119;
}
public int getRowHeight(int arg0) {
// TODO Auto-generated method stub
return 119;
}
public int indexOfList(ListField listField, String prefix, int start) {
// TODO Auto-generated method stub
return -1;
}
protected boolean trackwheelClick(int status, int time) {
int index = getSelectedIndex();
Dialog.inform(Integer.toString(index));
return true;
}
private class TableRowManager extends Manager {
public TableRowManager() {
super(0);
}
// Causes the fields within this row manager to be layed out then
// painted.
public void drawRow(Graphics g, int x, int y, int width, int height) {
// Arrange the cell fields within this row manager.
layout(width, height);
// Place this row manager within its enclosing list.
setPosition(x, y);
// Apply a translating/clipping transformation to the graphics
// context so that this row paints in the right area.
g.pushRegion(getExtent());
// Paint this manager's controlled fields.
subpaint(g);
g.setColor(0xFF0000);
g.drawLine(0, height - 1, getPreferredWidth(), height - 1);
g.drawLine(40, 0, 40, getPreferredHeight());
// Restore the graphics context.
g.popContext();
}
// Arrages this manager's controlled fields from left to right within
// the enclosing table's columns.
protected void sublayout(int width, int height) {
// set the size and position of each field.
int fontHeight = Font.getDefault().getHeight();
int preferredWidth = getPreferredWidth();
// start with the Bitmap Field of the priority icon
Field field = getField(0);
layoutChild(field, 75, 75);
setPositionChild(field, 5, 5);
// set the task name label field
field = getField(1);
layoutChild(field, preferredWidth, fontHeight + 2);
setPositionChild(field, 85, 5);
// set the list name label field
field = getField(2);
layoutChild(field, preferredWidth, fontHeight + 2);
setPositionChild(field, 85, fontHeight + 6 + 5);
// set the due time name label field
field = getField(3);
layoutChild(field, preferredWidth, fontHeight + 2);
setPositionChild(field, 100, fontHeight + fontHeight + 8 + 5);
field = getField(4);
layoutChild(field, preferredWidth, fontHeight + 2);
setPositionChild(field, 100, fontHeight + fontHeight + fontHeight + 10 + 5);
field = getField(5);
layoutChild(field, preferredWidth, fontHeight + 2);
setPositionChild(field, 100, fontHeight + fontHeight + fontHeight + fontHeight + 12 + 5);
setExtent(preferredWidth, getPreferredHeight());
}
// The preferred width of a row is defined by the list renderer.
public int getPreferredWidth() {
return Graphics.getScreenWidth();
}
// The preferred height of a row is the "row height" as defined in the
// enclosing list.
public int getPreferredHeight() {
return 119;// getRowHeight();
}
}
任何有关更改行高和位置的建议将不胜感激。
顺便说一句,这是在模拟器中。
最佳答案
尝试设置 setRowHeight(119);
而不是 setRowHeight(50);
。不确定它是否有帮助,因为它不是发布代码中 ListField
的常见应用程序/用法。
关于java - ListField 选定行打破其他行的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880174/
我正在使用 mongodb 和 python。 同样使用MongoEngine与mongodb进行通信。 现在我做了一个简单的具有评论功能的看板系统。 [模型.py] import datetime
是否可以更新黑莓 ListField动态? 首先,我创建了一个包含 10 个对象的 ListView ,后台服务正在后台运行以收集对象,过了一会儿我又得到了几个对象,我想将这些新对象添加到现有 Lis
我想使用 graphics.drawLine 方法在 drawListRow 中的黑莓 Listfield 中添加一个分隔符,但下面根本没有绘制线是我正在使用的来源 drawListRow(ListF
我有一个 ListField 表现得很奇怪,我没有很多 BB 开发经验,但在互联网上进行了大量搜索后,我最终得到了以下结果。我用过this tutorial做很多 ListField 的事情。 这是我
我想要在文本右侧带有图像和复选框的列表字段。我在左侧获得了图像,但无法在右侧获得复选框。如果可能,复选框应该是不可见的。应该只看到刻度线。我要实现 Image text1 chechbox
我为Blackberry(java)开发了一个Rss应用程序,并且成功地从Rss文件中显示了标题(需要在线播放的广播 channel 列表)。我已经开发了用于播放这些广播 channel 列表的代码,
我使用以下代码从手机或 SDCard 检索图像,并将该图像使用到我的 ListField 中。它给出了输出,但需要很长时间才能生成屏幕。如何解决这个问题呢 ??谁能帮我??提前致谢!!! String
是否可以创建自定义 ListField,其中的行高应根据解析的数据变化?如何实现? 最佳答案 不,ListField 不可能有不同的行高. From the API documentation: Be
下面的链接指定了如何在 Django 中创建列表字段。 How to create list field in django 我的问题;如何向该字段添加、删除项目?如果可能的话。我希望之后能够在模型实
我在使用 mongoengine (python3) 创建新文档时遇到问题。似乎无法直接将列表添加到 ListFields。 我有以下设置: # CONNECTION AND SETUP: from
我有以下模型 class Skill(EmbeddedDocument): name = StringField(required = True) level = IntField(re
这是我的文档 class Store(Document): store_id = IntField(required=True) items = ListField(Reference
我正在使用 Django REST framework 3.3,并尝试使用框架中包含的提供的 serializers.ListField 类序列化一个可能为空的列表。我当前对该字段的实例化如下所示
我在我的项目中使用 django rest,直到现在我使用的对象列表 ListSerializer ,当我需要列表的最小长度和最大长度时,我用谷歌搜索并找到了 ListField . 在此之前,我的代
如何在 ListField 行中换行文本?我在左侧显示图像,在右侧显示文本。一些较长的文本超出了 ListField 行,我希望它能够换行而不是被截断。 最佳答案 我也面临着同样的问题,因为我的要求也
这是我实现 ListField 的代码。它创建一个列表;然而,即使我认为我从 vectorFriends 添加好友,它还是空的。我对开发黑莓应用程序非常陌生,所以我确信我的错误非常明显。谁能告诉我为什
我在我的项目中使用 django rest,直到现在我使用的对象列表 ListSerializer ,当我需要列表的最小长度和最大长度时,我用谷歌搜索并找到了 ListField . 在此之前,我的代
我已经使用自定义 ListFieldCallback 为我的 BlackBerry 应用程序实现了 ListField。它运行良好,但有两个问题: 首先,我指定的位图仅绘制在第一行。它没有在后面的任何
我正在显示一个自定义列表字段,其中文本位于右侧,图像位于左侧。图像动态来自 URL。最初,我将一个空白图像放置在列表字段的左侧,然后调用 URLBitmapField 类的 setURL 方法,该方法
所以我有一个自定义的 ListField 类,它看起来很无聊,没有标题。有谁知道是否有办法在每个单元格上方制作标题?我习惯了 iPhone 编程,这使得这变得非常容易。 最佳答案 没有内置功能,但您可
我是一名优秀的程序员,十分优秀!