2013-09-30 3 views
2

Итак, у меня есть приложение на основе форм для Android, которое заполняет 7-дюймовый экран красиво, только портрет, и существует более 50 форм. Вместо того, чтобы переделывать каждую форму (или все приложение) в соответствии с каждым другим разрешением, мой бизнес case-решение - просто масштабировать форму, чтобы заполнить экран. 10-дюймовый планшет будет немного разнесен (но я могу добавить некоторые поля), а на телефоне лучше иметь стилус и хорошее зрение!Может ли макет шкалы Android заполнить экран?

Вместо того, чтобы спорить о том, являются ли это хорошим выбором, мой вопрос: может ли это быть сделано? В Windows CE формы масштабируются с размером текста через «единицы диалогового окна», который работает достаточно хорошо. Android не имеет ничего подобного, если нет сложных способов использования единиц «sp». Независимо от того, что получить форму, чтобы заполнить экран красиво на разных разрешениях, выглядит как площадка для вытягивания волос, если я чего-то не упускаю.

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

Просто, чтобы быть ясным: я не думаю, что на этот вопрос можно ответить, описав, как использовать стандартный способ Android для обработки нескольких размеров экрана: http://developer.android.com/guide/practices/screens_support.html. Это то, чего я не хочу делать в этот раз. Это действительно о том, как делать другие вещи - масштабирование, чтобы соответствовать - когда вам это действительно нужно.

+0

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

+0

@gnclmorais: Да, я согласен, но я не понял, как это сделать с пользой. Просто возьмите любое родное приложение и сделайте его масштабным! –

ответ

0

Я надеюсь, что я понимаю вашу ситуацию так:

Если это веб-приложение (вы используете WebView), а затем использовать видовые тег:

<meta name="viewport" content="width=device-width;"> 

Это будет соответствовать содержанию страницы к экран устройства.

Или, если это родное приложение (также будет работать для веб-приложения), вы можете добавить fill-parent для верстки и ширины компоновки в вашем макете XML.

+0

Это родное приложение. См. Править. –

0

Используйте этот код:

Display display = getWindowManager().getDefaultDisplay(); 
width = display.getWidth(); 
height = display.getHeight(); 

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

Например,

RelativeLayout fieldMain = (RelativeLayout)findViewById(R.id.field_layout); 

fieldMain.setLayoutParams(new RelativeLayout.LayoutParams((Int)(0.8*width), (int) (0.9*height))); 
+0

Мог работать. Мы должны попробовать. –

0

Если я получаю это правильно, вам не хватает одного из самых сильных точек в Android, динамических макетов. Вы можете использовать dp для форм и sp для текста, например. Take a look at it.

+0

Это не ответ, это комментарий. Да, мне нужно объяснить, почему я хочу это сделать, но я действительно это делаю. –

+0

Почему бы вам не прочитать страницу, которую я вам отправил, и начать экспериментировать с вашим кодом? Вы не можете на самом деле ожидать, что StackOverflow просто волшебным образом предоставит вам код, который решает вашу проблему, без какого-либо кода вообще ... – gnclmorais

+0

Хммм.Я хорошо знаю эту страницу, я ее тщательно изучил, и я написал программное обеспечение в соответствии с этими рекомендациями. И теперь для чего-то совершенно другого, я хочу сделать именно то, что я спросил: напишите приложение, которое масштабируется вместо адаптации к разным размерам экрана. Вы можете помочь? –

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