Galaxy S5上的Cordova CSS问题

时间:2015-02-09 12:01:11

标签: html css cordova phonegap-plugins android-ui

对于cordova android应用程序,我创建了一个用于1080 x 1920屏幕分辨率和使用媒体查询访问的css

@media screen and (max-width: 680px) and (orientation:portrait) //Galaxy S5 compatible

@media screen and (device-height : 1920px) and (device-width : 1080px) and (orientation:portrait) // Galaxy S4 compatible

CSS在S4设备上工作正常,但在具有与S4相同的屏幕分辨率的S5设备上似乎被放大和破坏。

元数据定义为<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />

请建议我需要做些哪些更改才能解决此问题,并为Galaxy S4和S5设备使用相同的CSS

enter image description here

2 个答案:

答案 0 :(得分:0)

<强>更新

尝试使用@media screenmin/max-device-width

例如:

/* Android Tablet (landscape) style */
@media only screen and (min-device-width : 800px) and (max-device-width : 1280px) and (orientation : landscape) {
}

设备宽度:是屏幕或整个页面,而不仅仅是渲染区域作为文档窗口。


[第一个回答]

我也遇到过这个问题。试试这个:

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=medium-dpi" />

target-densitydpi=medium-dpi似乎解决了这个问题。让我知道。

对于媒体查询:在max-width之后使用max-device-width。 参见:

答案 1 :(得分:0)

问题在于Android OS 4.4 Webkit的扩展。我通过

调整App的初始缩放来找到分辨率
 Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
 int width = display.getWidth(); 
 int height = display.getHeight(); 

 // calculate target scale (only dealing with portrait orientation)
 double globalScale = Math.ceil( ( width / ORIG_APP_W ) * 100 );

 // set the scale
 this.appView.setInitialScale( (int)globalScale );

解释如下: Scaling fixes for Android devices in Phonegap

感谢您的支持