Форум программистов, компьютерный форум CyberForum.ru

Разметка элементов - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как по нажатию кнопки несколько раз выводить текст в TextView в Android Studio? http://www.cyberforum.ru/android-dev/thread1703129.html
Помогите вывести текст в textview при нажатии на одну и ту же кнопку ? Нажал - изменился текст, опять нажал и тд
Android Калибровка сенсора у меня таая проблеа возникла. в нижней части экрана жмешь в одно место, нажимается в другом. можно ли как-то откалибрировать дисплей?? смартфон Texet TM-4503. Android 4.4.2 http://www.cyberforum.ru/android-dev/thread1703023.html
Android Как можно сделать scrolling не текста, а картинок?
Подскажите пожалуйста как можно сделать scrolling не текста, а картинок
Android Перенаправление
Привет, подскажите как правильней реализовать такую штуку: В своем приложении жму на кнопку и перехожу на вторую активность с webView по заранее определенной ссылке http://google.com.ua . Как вставить новую ссылку - http://www.cyberforum.ru в строку поиска ? т.е сделать редирект. Сразу вставить готовую ссылку не подходит, интересно именно редирект делать. Возможно надо подключать js, или как...
Android Загрузить фото на сервер http://www.cyberforum.ru/android-dev/thread1702847.html
Здравствуйте, подскажите как загрузить изображение, в данном случае фото, на сервер, как его передать обработчику в php файл? В процессе: камера у меня фоткает и сохраняет изображения на sd-карте, php на принятие изображения готов, как их связать? подскажите может библиотека какая есть или буду рада просто полезным ссылкам) Сильно не ругайтесь, я только учусь)
Android TextView цвет фона отдельных символов Как можно поменять цвет фона отельных символов в textview? подробнее

Показать сообщение отдельно
Faltfromoss
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 32

Разметка элементов - Android

04.04.2016, 20:27. Просмотров 221. Ответов 3
Метки (Все метки)

На первый взгляд простейшая задача - нарисовать калькулятор в таком стиле:
Разметка элементов

И первое, что приходит на ум - использовать GridLayout для размещения кнопок. Этот макет позволяет объединять ячейки как по горизонтали, так и по вертикали, что требуется для кнопок "0" и "=".

После первого наброска для меня, как для новичка в этом деле, получился неожиданный результат. Три скрина для экранов 4,7, 6 и 7 дюймов соответственно:

Разметка элементов Разметка элементов Разметка элементов

Оказывается GridLayout подгоняет ширину ячеек под самый широкий элемент в строке. Хотя я вначале думал, что грид работает по-другому - подгоняет элементы под размер экрана (как LinearLayout). В итоге вся борьба с гридом сводится к тому, что нужно задавать фиксированные размеры кнопок, чтобы они поместились в экран. Но это, как я понимаю, не выход, так как под каждый размер экрана делать макет - это чушь.

Далее возникла мысль использовать TableLayout. С ним всё прекрасно получается, так как у этого контейнера есть нужный в данной ситуации атрибут shrinkColumns, который позволяет переносить текст, если тот не помещается в ширину колонки. В случае с кнопками, он их ужимает до нужного размера и они все прекрасно смотрятся на любом экране. Но, здесь опять я встретился с траблой. При чем для меня непонятной до сих пор. Ячейки в TableLayout можно объединять только по горизонтали! С чем связано это ограничение - ума не приложу... В итоге кнопку "=" вставить в таблицу как в задании - невозможно.

В итоге, я так пока и не пришел к разумному решению - как правильно сделать разметку кнопок, чтобы они корректно подстраивались под любой экран. Прошу вашей помощи. Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru