none
Android C# RRS feed

  • Вопрос

  • Появились средства для разработки мобильных приложений на C#. Кто знает, решены ли в них проблемы создания адаптивного интерфейса для разных экранов, чтобы не приходилось тестировать для 1001-го устройства на Android?
    18 марта 2016 г. 15:47

Ответы

  • Конкретно по вашим вопросам: нет, смена языка конечно же не решает ни проблемы адаптации к размерам экранов, ни проблемы раздробленности платформы. 

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

    Типично для упрощения делаются две разметки - горизонтальная и вертикальная. Конкретное разрешение роли не играет, просто меняется масштаб. Дополнительно код может адаптировать разметку при незначительном отклонении формы экрана от разметки. Например, если разметка выполнена в пропорции 16:9, а фактической экран имеет пропорцию 16:10 то код может просто поместить разметку в центр экрана. А может добавить что то чего обычно не видно.

    Если что то "разъезжается" то значит разметка, код для адаптации или код ОС имеют ошибки. Их надо исправлять.

    Вторая проблема на данном состоянии платформы Android уже не решается. Видимо следует ограничиться проверкой совместимости с наиболее популярными моделями.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    • Помечено в качестве ответа LXGDARKEditor 27 марта 2016 г. 19:39
    20 марта 2016 г. 18:45
    Модератор

Все ответы

  • Что Вы называете "проблемами"? GUI приложения для андроид самостоятельно адаптируется под экраны разного размера, если не задавать размеры элементов и шрифта явным образом (в пикселях), а грамотно использовать разметку. И язык программирования здесь не причем, и на C# и на Java все едино.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    19 марта 2016 г. 5:42
  • То, что надо как-то проверить, будет ли приложение работать на большом количестве устройств и размеров экрана.
    19 марта 2016 г. 15:32
  • Ну и проверяйте на эмуляторе. Android SDK позволяет создать эмулятор любого девайса.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    19 марта 2016 г. 16:33
  • Кроме того, можно отобразить Activity при любом разрешении экрана еще на этапе редактирования.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    19 марта 2016 г. 16:35
  • это-то так :) но разрешений очень много, как оказывается, а девайсов может и больше. Сколько комбинаций надо проверить? И всё вручную? Вы же пишете, что разметка сама должна адаптироваться. Так кто же решает проблему - сама ОС или разраб? )
    20 марта 2016 г. 12:34
  • Вы мой первый ответ внимательно прочитали? Никогда не указывайте размеры элементов явно и будет Вам счастье.

    Меня всегда забавляют вопросы, задаваемые "в прок". Кто Вам мешает протестировать приложение не на 1001-ом, а на на ДВУХ разрешениях? Вы сразу поймете, что у Вас не так.


    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    20 марта 2016 г. 13:03
  • Да, я прочитал. Просто когда я делал своё большое приложение, там разметка была если не ошибаюсь, без пикселей, но на некоторых разрешениях могло "разъезжаться". Это может быть?

    На двух-то как раз может работать. А вот должно работать на 1001м :)

    20 марта 2016 г. 16:57
  • Это вопрос не впрок, а после опыта разработки приложения с жесткими требованиями.
    20 марта 2016 г. 17:00
  • Конкретно по вашим вопросам: нет, смена языка конечно же не решает ни проблемы адаптации к размерам экранов, ни проблемы раздробленности платформы. 

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

    Типично для упрощения делаются две разметки - горизонтальная и вертикальная. Конкретное разрешение роли не играет, просто меняется масштаб. Дополнительно код может адаптировать разметку при незначительном отклонении формы экрана от разметки. Например, если разметка выполнена в пропорции 16:9, а фактической экран имеет пропорцию 16:10 то код может просто поместить разметку в центр экрана. А может добавить что то чего обычно не видно.

    Если что то "разъезжается" то значит разметка, код для адаптации или код ОС имеют ошибки. Их надо исправлять.

    Вторая проблема на данном состоянии платформы Android уже не решается. Видимо следует ограничиться проверкой совместимости с наиболее популярными моделями.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    • Помечено в качестве ответа LXGDARKEditor 27 марта 2016 г. 19:39
    20 марта 2016 г. 18:45
    Модератор