2015-05-08 2 views
2

У меня есть веб-приложение HTML5, и я хочу создать приложение для Android.Увеличить приложение android cordova app

Первое, что я сделал, это открыть Visual Studio и создать простое приложение с веб-просмотром. В этом случае я могу настроить параметры масштабирования своего веб-представления.

myWebView.getSettings().setBuiltInZoomControls(true); 
myWebView.getSettings().setDisplayZoomControls(false); 

И все работает нормально.

Затем я хочу создать такое же приложение usig cordova. Приложение работает отлично, но я не могу сделать масштабирование, и я не могу настроить веб-просмотр cordova ... Я попытался настроить основную активность, но я не знаю, как получить доступ к настройкам веб-камеры Cordova.

super.onCreate(savedInstanceState); 
    // Set by <content src="index.html" /> in config.xml 
    loadUrl(launchUrl); 

    WebSettings settings = this.appView.getSettings(); 
    settings.setBuiltInZoomControls(true); 
    settings.setBuiltInZoomControls(true); 

Любая идея? Благодарю.

EDIT 1

с ответом я получаю эту ошибку:

C:\Users\xabier.esteban\Datavis\cordova\hello\platforms\android\src\com\example\ 
hello\MainActivity.java:35: error: cannot find symbol 
     WebSettings settings = super.appView.getSettings(); 
              ^
symbol: method getSettings() 
location: variable appView of type CordovaWebView 
1 error 
:compileDebugJava FAILED 

FAILURE: Build failed with an exception. 

What went wrong: 
Execution failed for task ':compileDebugJava'. 
> Compilation failed; see the compiler error output for details. 

Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug 
option to get more log output. 

BUILD FAILED 

Total time: 3.321 secs 
+0

Я также работает в том же номере, не может позволить пинч приближать Android с Кордову (с помощью Cordova 4,0). Пробовал все варианты тега meta viewport. Я отчетливо помню Android-масштабирование в предыдущих версиях cordova, добавив код WebSettings в MainActivity.java, но метод getSettings(), кажется, исчез из CordovaWebView. Поблагодарю любые обходные пути. – user206481

+0

https://crosswalk-project.org/jira/browse/XWALK-3313: «мы * представили *' API предпочтений' для замены * 'getSettings'. Нам нужен документ для этого * нового API * и помочь разработчикам перейти от getSettings». Поскольку я еще не нашел эту документацию API, этот комментарий (а не ответ) должен будет сделать, по крайней мере теперь вы знаете, что искать .. – GitaarLAB

ответ

1

в Java файл

import android.webkit.WebSettings; 
import android.os.Build; 

public void onCreate(Bundle savedInstanceState) 
{ 
      super.onCreate(savedInstanceState); 
      super.init(); 
      // Set by <content src="index.html" /> in config.xml 

      super.loadUrl(Config.getStartUrl()); 
      //super.loadUrl("file:///android_asset/www/index.html"); 

      WebSettings settings = super.appView.getSettings(); 
      settings.setBuiltInZoomControls(true); 

      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) 
      { 
        settings.setDisplayZoomControls(true); 

        settings.setSupportZoom(true); 
      } 
} 

в HTML файл использовать мета тег

<meta name="viewport" content="user-scalable=yes,initial-scale=1, maximum-scale=5, minimum-scale=0.25, target-densitydpi=device-dpi"/> 
+3

Это не сработает, getSettings() больше не отображается на CordovaWebView , Вы знаете об обходном пути? – user206481

+0

@ user206481 вы нашли обходное решение? –

+0

nope. В итоге я добавил кнопку масштабирования, которая увеличила изображение карты на 2; не очень доволен этим и по-прежнему хотел бы регулярно увеличивать масштаб с помощью жестов пользователя – user206481

0

Я просто хочу добавить, что, как прокомментировал выше, getSettings() больше не подвергается на CordovaWebView, но вы можете использовать этот обходной путь (работал для меня в дополнение к иллюминатору метатеге)

WebView wv_1 = (WebView)appView.getView();   

wv_1.getSettings().setBuiltInZoomControls(true); 
wv_1.getSettings().setSupportZoom(true); 
wv_1.getSettings().setDefaultZoom(ZoomDensity.MEDIUM); 

надеюсь, что это помогает

также смотреть на это от разработчиков андроида сайта

Note: If your targetSdkVersion is set to "18" or lower, WebView operates in "quirks mode" in order to avoid some of the behavior changes described below, as closely as possible—while still providing your app the performance and web standards upgrades. Beware, though, that single and narrow column layouts and default zoom levels are not supported at all on Android 4.4, and there may be other behavioral differences that have not been identified, so be sure to test your app on Android 4.4 or higher even if you keep your targetSdkVersion set to "18" or lower.

Смежные вопросы