(Noob) (PhoneGap) Как вы сохраняете то же разрешение? - PullRequest
0 голосов
/ 12 марта 2012

Я noob в PhoneGap, и я пытаюсь сделать приложение для Android.

Мое приложение работает нормально, но разрешение очень "высокое"

Я нашел в Интернете какую-то Javaкод для решения проблемы, но он работает только на первом экране.

Это код 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">

Мне нужна некоторая ориентация по этой проблеме.

Спасибо !!

1 Ответ

0 голосов
/ 12 марта 2012

Используйте это во всех ваших HTML-файлах

<meta name="viewport" content="width=device-width; user-scalable=no" />

И для перехода к новому HTML используйте это

navigator.app.loadUrl("file:///android_asset/www/something.html");
...