我是PhoneGap的诺布,我正在尝试安装Android应用程序。
我的应用运行正常,但分辨率非常“高”
我在网上发现了一些解决问题的Java代码,但它只适用于第一个屏幕。
这是de Java代码:
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
super.loadUrl("file:///android_asset/www/index.html");
this.appView.addJavascriptInterface(this, "android");
this.appView.setInitialScale(0);
//Obtenemos el tamaño de la pantalla
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
// double globalScale = Math.ceil((width/orig_app_W) * 100);
//ESTA INSTRUCCION ES LA QUE REALMENTE HACE EL REESCALADO
double globalScale = Math.ceil( ( width / orig_app_W ) * 70 );
//Unas cuantas trazas para comprobar que vamos bien ;-)
Log.v( "ORIG_APP_W", " = " + orig_app_W );
Log.v( "ORIG_APP_H", " = " + orig_app_H );
Log.v( "width", " = " + width );
Log.v( "this.appView.getMeasuredHeight()", " = " + height );
Log.v( "globalScale", " = " + globalScale );
Log.v( "this.appView.getScale()", "index=" + this.appView.getScale() );
// Establecemos algunos parametros para el web view
this.appView.getSettings().setBuiltInZoomControls( false );
this.appView.getSettings().setSupportZoom( false );
//this.appView.getSettings().setGeolocationEnabled( true );
this.appView.getSettings().setLightTouchEnabled( true );
this.appView.getSettings().setRenderPriority( RenderPriority.HIGH );
this.appView.getSettings().setSupportZoom( true ); //Modify this
//this.appView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);//Add this
// Establecemos la escala
this.appView.setInitialScale( (int)globalScale );
}
这是调用另一个屏幕(HTML)的方法:
<a href="categorias.html" target="_top">
我需要一些关于这个问题的方向。
谢谢!
答案 0 :(得分:0)
在您的所有HTML文件
中使用此功能<meta name="viewport" content="width=device-width; user-scalable=no" />
要导航到新的HTML,请使用此
navigator.app.loadUrl("file:///android_asset/www/something.html");