Как я могу сказать виджету максимизировать, чтобы заполнить все доступное пространство? - PullRequest
1 голос
/ 12 августа 2010

Я разрабатываю виджет для мобильных телефонов, используя платформу Vodafone Mobile Widget, и пытаюсь заставить его заполнить весь экран. Использование высоты и ширины до 100% не работает должным образом. Кто-нибудь знает, что делать?

Ответы [ 4 ]

1 голос
/ 12 августа 2010

Во-первых, попробуйте добавить height = "100%" и width = "100%" к тегу body (а не только к контейнеру div).

Если это не сработает, попробуйте этот css в дополнение к нему.

html{
width:100%;
height:100%;
} 

Если это не помогает, предоставьте больше информации о содержимом страницы, которое не будет заполнять весь экран.

0 голосов
/ 25 августа 2010

Я предлагаю вам использовать «слишком большую» ширину и высоту в config.xml, например:

<width>2000</width>
<height>2000</height>

время выполнения виджета уменьшает размер. Чтобы сделать его идеальным, вам все равно нужно установить CSS

body, html{
    width:100%;
    height:100%;
} 

, чтобы заставить виджет правильно масштабироваться до полной ширины и высоты. Я работаю с виджетами VF долго, и это работает лучше всего. ПРИМЕЧАНИЕ: это делает виджет слишком большим на рабочем столе, но виджет для мобильных и настольных компьютеров в любом случае встречается редко.

Вольфрам

0 голосов
/ 16 августа 2010

Попробуйте это:

   if (window.widget) {
      widget.addEventListener("widgetmodechange", function (e) {
        if (!(widget.widgetMode === "widget")) { // not on desktop
          window.resizeTo(screen.availWidth, screen.availHeight);
        }
      }, false);
    }

Baa на самом деле прав, за исключением того, что вы должны связать слушателя тоже "widgetmodechange". Также ознакомьтесь с документацией Баа указанной. Это довольно полезно.

0 голосов
/ 12 августа 2010

Хорошо, попробуйте это:

function resizeWidget() {
var availWidth = screen.availWidth;
var availHeight = screen.availHeight;
window.resizeTo(availWidth, availHeight);
}

Проверьте этот документ для получения дополнительной информации: http://widget.developer.vodafone.com/docs/Different-Resolutions-on-Mobile-Phones-v0.3.4.pdf

Во время выполнения виджета, разрешение телефона можетменять.Например, в более новых мобильных телефонах есть датчики для определения того, находится ли телефон горизонтально или вертикально.Vodafone Apps Manager распознает такие изменения и запускает событие разрешения каждый раз, когда происходит изменение.Чтобы убедиться, что размер вашего виджета изменяется каждый раз при изменении разрешения, вы можете добавить прослушиватель событий для resolutionevent и использовать функцию resizeWidget () в качестве обработчика событий:

widget.addEventListener('resolution', resizeWidget, false);

Дополнительно,Вы должны вызвать функцию resizeWidget при запуске виджета, потому что пользователь может запустить виджет в ландшафтном режиме.Поскольку среда выполнения не вызывает событие разрешения, когда это происходит, вы должны вызвать функцию resizeWidget вручную.

...