Blackberry BrowserField不适合屏幕
我正试图在我的黑莓应用程序中显示一个网站,但浏览器字段小于屏幕高度,我无法将其设置为相同的大小 加载的页面实际上比屏幕小,但该网站是为移动设备设计的,完全适合iphone webview、blabkberry浏览器、firefox和chrome 我的代码如下:Blackberry BrowserField不适合屏幕,blackberry,browserfield,Blackberry,Browserfield,我正试图在我的黑莓应用程序中显示一个网站,但浏览器字段小于屏幕高度,我无法将其设置为相同的大小 加载的页面实际上比屏幕小,但该网站是为移动设备设计的,完全适合iphone webview、blabkberry浏览器、firefox和chrome 我的代码如下: manager = new VerticalFieldManager(VerticalFieldManager.VERTICAL_SCROLL | VerticalFieldManager.HORIZONTAL_SCROLL)
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:我正在使用blackberry操作系统版本6尝试子布局传球显示。getHeight()而不是f maxHeight尝试子布局传球显示。getHeight()而不是f maxHeight尝试如下:
protected void sublayout(int maxWidth, int maxHeight)
{
super.sublayout(Display.getWidth(), Display.getHeight());
setExtent(Display.getWidth(), Display.getHeight());
}
试着这样做:
protected void sublayout(int maxWidth, int maxHeight)
{
super.sublayout(Display.getWidth(), Display.getHeight());
setExtent(Display.getWidth(), Display.getHeight());
}
我不知道我的解决方案是否对您有帮助,但我遇到了与您完全相同的问题,在花了几个小时之后,我最终通过在html页面的页眉部分添加以下行来修复它:
<meta name="viewport" content="width=device-width,height=device-height,minimum-scale=1, maximum-scale=1" />
Height=device Height修复了我的问题我不知道我的解决方案是否对您有帮助,但我面临的问题与您的完全相同,在花了几个小时之后,我最终通过在我的html页面的标题部分添加以下行来修复它:
<meta name="viewport" content="width=device-width,height=device-height,minimum-scale=1, maximum-scale=1" />
高度=设备高度修复了我的问题此html代码:
可以在客户端上用以下内容替换:
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);
此代码以html格式显示:
可以在客户端上用以下内容替换:
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);
试试这个
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);
嗨,谢谢你的帮助,但我已经试过了,这不是解决办法。按照我对问题的描述,我试图告诉您问题不在管理器中,因为孔屏幕是红色的(管理器背景)。您好,谢谢您的帮助,但我已经尝试过了,这不是解决方案。按照我对问题的描述,我试图告诉您问题不在管理器中,因为孔屏幕是红色的(管理器背景)。感谢您的帮助,但我已经尝试过这不是解决方案。我这里有一个browserfield的问题,经理工作得很好,因为孔屏幕是红色的(红色是经理背景)。谢谢你的帮助,但我已经尝试过了,这不是解决方案。我这里有一个browserfield的问题,经理工作得很好,因为孔屏幕被涂成了红色(红色是经理背景)。非常感谢!正是我需要的。我有视口宽度,甚至没有考虑高度。再次感谢大家!!!!非常感谢你!正是我需要的。我有视口宽度,甚至没有考虑高度。再次感谢大家!!!!