2016-04-13 6 views
0

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

ответ

0

Если вы хотите, чтобы одна страница отображалась в одной ориентации, а другая - в другой, это возможно, хотя я бы не рекомендовал ее. Обычно использование media queries для изменения стилей самой страницы является предпочтительным методом. Однако, если вы должны сделать это, то вы можете сделать:

<ons-if orientation="landscape"> 
    <ons-page>Landscape page</ons-page> 
</ons-if> 

<ons-if orientation="portrait"> 
    <ons-page>Portrait page</ons-page> 
</ons-if> 

Вот в docs for ons-if.

Если вы используете Onsen 1, то вы можете использовать ons-if-orientation

Update: Приведенный выше код работает, но я предполагаю, что это не то, что вы хотите. Кажется, что вы хотите не отображать страницу, если ориентация совпадает, а скорее, чтобы заставить ориентацию на основе страницы, если я правильно понимаю.

Если вы хотите установить определенную ориентацию, то, к сожалению, Onsen не предоставляет эту функциональность в настоящее время. link

Кордова предоставляет некоторые функции, как этот <preference name="orientation" value="portrait" /> в config.xml, но я думаю, что это для всего приложения, а не только для конкретной страницы. Кажется, что есть plugin, который, как предполагается, сможет сделать это на каждой странице. Есть стандарты об этом еще в развитии, если я не ошибаюсь, но, возможно, они не реализованы повсюду.

Я предполагаю, что есть something как <link rel="manifest" href="manifest.json">, который вы могли бы положить в HTML, где JSON содержит {"orientation": "landscape"}, но я опять не уверен, что это будет работать везде. Возможно, он будет работать только в Android.

Одна последняя вещь, которую вы могли бы сделать что-то вроде

@media only screen and (orientation:portrait){ 
    body { transform: rotate(90deg) } 
} 

однако делает поворот, как что будет, вероятно, создать больше проблем и не рекомендуется.

Возможно, manifest.json может быть решением для андроида или только плагина cordova в противном случае.

+0

Это не работает для меня. Он отображает страницу в обеих ориентациях. Я хочу, если это условие применимо в соответствии с вами «", тогда страница отображается в альбомной ориентации, а ориентация - пейзаж или портрет. – cameron

+0

Я обновил свой ответ. Оригинальный работает, но я думаю, он просто не делает то, что вы хотите. Если вы хотите заставить ориентацию, которая, скорее всего, потребует что-то со стороны кордовы. –

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

  • Нет связанных вопросов^_^