问题描述
|
嗨,开发人员,我有一个带有透明背景(位图)的屏幕。我在其顶部放置了一个列表字段,但是问题是透明背景没有显示上一个屏幕,而是显示了带有列表字段的白屏。
public class IndexScreen extends MainScreen implements ListFieldCallback {
private Vector rows;
ListField listItems;
int listItem;
int listFieldIndex = -1;
TableRowManager row;
Bitmap indexBox = Bitmap.getBitmapResource(\"res/screens/Index_Box.png\");
public IndexScreen() {
listItems = new ListField() {
listItems.setRowHeight(20);
listItems.setCallback(this);
rows = new Vector();
listItems.setSize(rows.size());
_listVfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL) {
public void paint(Graphics g) {
g.drawBitmap(0,UIinitialize.screenWidth,UIinitialize.screenHeight,indexBox,0);
super.paint(g);
}
protected boolean navigationMovement(int dx,int dy,int status,int time) {
return super.navigationMovement(dx,dy,status,time);
}
protected void sublayout(int maxWidth,int maxHeight) {
layoutChild(listItems,maxWidth,maxHeight);
setPositionChild(listItems,5,0);
setExtent(maxWidth,255);
}
};
_listVfm.add(listItems);
add(_listVfm);
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
listItems.invalidate();
}
},500,true);
}
public void drawListRow(ListField listField,Graphics graphics,int index,int y,int width) {
TableRowManager rowManager = (TableRowManager) rows.elementAt(index);
rowManager.drawRow(graphics,y,width,listItems.getRowHeight());
}
class TableRowManager extends Manager {
public TableRowManager() {
super(0);
}
public void drawRow(Graphics g,int x,int width,int height) {
layout(width,250);
setPosition(x,y);
g.pushRegion(getExtent());
subpaint(g);
g.setColor(0x00CACACA);
g.popContext();
}
protected void sublayout(int width,int height) {
int preferredWidth = getPreferredWidth();
Field field = getField(0);
layoutChild(field,preferredWidth,height);
setPositionChild(field,0);
setExtent(width,height);
}
public int getPreferredWidth() {
return listItems.getWidth();
}
public int getPreferredHeight() {
return listItems.getRowHeight();
}
}
public Object get(ListField listField,int index) {
return null;
}
public int getPreferredWidth(ListField listField) {
return 0;
}
public int indexOfList(ListField listField,String prefix,int start) {
return 0;
}
}
上面的代码是我正在使用的代码的一部分,我该如何实现以查看透明背景,有人可以帮我吗,谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)