Меню на разных экранах.
-
- Сообщения: 54
- Зарегистрирован: 23 сен 2013, 10:51
Меню на разных экранах.
Привет.
Как сделать одинакоаое отображение меню на разных экранах?
Я так понимаю указывать в px ничего нельзя, только dp.
Меню будет представлять из себя 5 button в вертикальном layout.
Проблема в том что на телефоне меню нормально, а на планшете оно сверху, т.к. я делал отступы margin в 30dp.
Как сделать одинакоаое отображение меню на разных экранах?
Я так понимаю указывать в px ничего нельзя, только dp.
Меню будет представлять из себя 5 button в вертикальном layout.
Проблема в том что на телефоне меню нормально, а на планшете оно сверху, т.к. я делал отступы margin в 30dp.
-
- Сообщения: 54
- Зарегистрирован: 23 сен 2013, 10:51
Re: Меню на разных экранах.
up куда копать?
Re: Меню на разных экранах.
Нужно размеры записывать в dimens.xml. И создать разные варианты этого файла для телефона и планшета, в зависимости от размера экрана.
-
- Сообщения: 54
- Зарегистрирован: 23 сен 2013, 10:51
Re: Меню на разных экранах.
блин но это муторно и вариантов 100500 как и размеров экрана
но всеравно спасибо за ответ
но всеравно спасибо за ответ
Re: Меню на разных экранах.
Все 100500 вариантов не нужно - Андроид каким-то образом подбирает наиболее подходящий (но по какому алгоритму?).
Можно также в коде узнать размер экрана и вручную установить размеры после загрузки лейаута.
Можно также в коде узнать размер экрана и вручную установить размеры после загрузки лейаута.
-
- Сообщения: 54
- Зарегистрирован: 23 сен 2013, 10:51
Re: Меню на разных экранах.
спасибо за наводку.
но все равно тестить надо обзавестись кучей эмуляторов с разным разрешением.
но все равно тестить надо обзавестись кучей эмуляторов с разным разрешением.
Re: Меню на разных экранах.
Можно думать об альтернативах. Не совсем понимаю а каком меню речь, но почему бы его не сделать например по центру, вместо отступов сверху?
Re: Меню на разных экранах.
чтобы сделать по центру, нужно использовать атрибут android:layout_gravity="center_horizontal|center_vertical"
если нужно не точно по центру, сверху и снизу (и/или соответственно, слева и справа), добавить невидимые view с атрибутом android:layout_weight="1" (пустое пространство распределяется соответственно весу). используется LinearLayout c android:orientation="vertical"
Ещё можно использовать PopupWindow. Но координаты, где выводить меню, придётся вычислять вручную.
если нужно не точно по центру, сверху и снизу (и/или соответственно, слева и справа), добавить невидимые view с атрибутом android:layout_weight="1" (пустое пространство распределяется соответственно весу). используется LinearLayout c android:orientation="vertical"
Ещё можно использовать PopupWindow. Но координаты, где выводить меню, придётся вычислять вручную.