黑莓BrowserField不适合屏幕
我试图在我的黑莓应用程序内显示一个网站,但browserfield比屏幕高度小,我不能使它的大小相同。黑莓BrowserField不适合屏幕
beeing加载的页面实际上小于屏幕,但该网站是专为移动设备,并完全符合iphone webview,blabkberry浏览器和Firefox和铬。
我的代码如下:
manager = new VerticalFieldManager(VerticalFieldManager.VERTICAL_SCROLL | VerticalFieldManager.HORIZONTAL_SCROLL)
{
protected void sublayout(int maxWidth, int maxHeight)
{
super.sublayout(maxWidth, maxHeight);
setExtent(Display.getWidth(), Display.getHeight());
}
};
manager.setBackground(BackgroundFactory.createSolidBackground(Color.RED));
BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig();
myBrowserFieldConfig.setProperty(BrowserFieldConfig.ALLOW_CS_XHR, Boolean.TRUE);
myBrowserFieldConfig.setProperty(BrowserFieldConfig.JAVASCRIPT_ENABLED, Boolean.TRUE);
myBrowserFieldConfig.setProperty(BrowserFieldConfig.INITIAL_SCALE, new Float(1));
browserField = new BrowserField(myBrowserFieldConfig);
browserField.requestContent(link);
manager.add(browserField);
,我得到如下效果:当我加载该画面的孔筛红(经理背景)。之后,屏幕变成白色(我认为这是browserfield),然后当网页被加载时,屏幕再次变成红色,并且白色的部分缩小到一个线条高度,并随着网页材质开始显示而增长。问题是,页面应该适合所有的屏幕,就像在iphone和自定义浏览器中一样。
OBS:我使用的是黑莓OS版本sublayout通过Display.getHeight(6
我不知道如果我的解决方案可以帮助你,但我面临与你完全相同的问题,花了几个小时后,我终于通过在我的html页面的标题部分添加了以下行来修复它:
<meta name="viewport" content="width=device-width,height=device-height,minimum-scale=1, maximum-scale=1" />
身高=设备高度固定我的问题
尝试),而不是˚FmaxHeight
喜,谢谢你的帮助,但我已经尝试过,那不是解决方案。我描述的问题的方式我试图告诉你,问题不在经理,因为洞屏幕是红色(经理背景)。 – Fernando 2011-12-19 12:02:12
尝试这样的:
protected void sublayout(int maxWidth, int maxHeight)
{
super.sublayout(Display.getWidth(), Display.getHeight());
setExtent(Display.getWidth(), Display.getHeight());
}
谢谢你的帮助,但我已经尝试过,那不是解决方案。我在这里有一个浏览器问题,经理工作很好,因为洞屏幕涂成了红色(红色是经理背景) – Fernando 2011-12-19 12:03:27
这段代码在HTML:<meta name="viewport" content="width=device-width,height=device-height,minimum-scale=1, maximum-scale=1" />
可以与该客户端进行更换:
config = new BrowserFieldConfig();
config.setProperty(BrowserFieldConfig.VIEWPORT_WIDTH, new Integer(
Display.getWidth()));
config.setProperty(BrowserFieldConfig.INITIAL_SCALE, new Float(1.0));
config.setProperty(BrowserFieldConfig.USER_SCALABLE, Boolean.FALSE);
browserField = new BrowserField(config);
试试这个
class MyFieldManager extends VerticalFieldManager
{
int width;
int height;
MyFieldManager(int w,int h)
{
super(Manager.VERTICAL_SCROLL | Manager.HORIZONTAL_SCROLL);
width=w;
height=h;
}
public void sublayout(int w,int h)
{
super.sublayout(w, h);
setExtent(width,height);
}
}
BrowserFieldConfig config = new BrowserFieldConfig();
config.setProperty(BrowserFieldConfig.ALLOW_CS_XHR, Boolean.TRUE);
config.setProperty(BrowserFieldConfig.INITIAL_SCALE, new Float(0.5));
MyFieldManager m=new MyFieldManager(Display.getWidth()/2,Display.getHeight()/2);
add(m);
BrowserField _browserField = new BrowserField(config);
_browserField.addListener(new InnerBrowserListener());
m.add(_browserField);
谢谢sooooooooo太多了!正是我需要的。我有视口宽度,甚至没有考虑高度。再次感谢你!!!! – yanike 2014-05-14 03:01:39