Дайте советы по дизайну.

Интерфейс, диалоги, темы, стили, меню
Ответить
Sasha2dx
Сообщения: 51
Зарегистрирован: 10 апр 2015, 23:24

Дайте советы по дизайну.

Сообщение Sasha2dx » 11 апр 2015, 00:20

Я столкнулся с тем, что не знаю как заставить приложение масштабироваться под любые экраны.
Дайте советы как оптимальнее сделать приложение, которое будет хорошо масштабироваться под любой экран?

Нормальным ли считается вариант если делать под каждый размер отдельный лейаут-файл? По моему это не самый оптимальный вариант. Делать полностью динамический экран тоже сложно, по моему. Да и вообще дайте советы по тонкой настройке лейаут файла, я вот с чем столкнулся:
Пытался создать экран разделённый на 4 части: первая вторая и третья должны делить место в частях: 1я - 40%, 2я - 25%, 3я - 15%, 4я - 20%, заполнены они в основном картинками. Не думаю что есть смысл рассказывать как я пытался это реализовать, факт в том что элементы вели себя совсем не так как я ожидал, например в одной из частей экрана были 4 картинки с одинаковым разрешением и весом, 3 из них показывались нормально, а четвёртая сжималась сильнее остальных. Сами части вылазили на "чужое" место (пытался задавать размеры с помощью веса). Ну и ещё при изменении размера экрана (в основном в большую сторону) всё совсем было не так как ожидалось.

Дайте советы по этим пунктам: как лучше сделать нормально масштабируемое активити? Как заставить элементы адекватно делить пространство экрана? (мб фрагментами? пока не пробовал их использовать)

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Дайте советы по дизайну.

Сообщение doter.ua » 11 апр 2015, 11:22

Используй вес в паре с мач_парент
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Sasha2dx
Сообщения: 51
Зарегистрирован: 10 апр 2015, 23:24

Re: Дайте советы по дизайну.

Сообщение Sasha2dx » 15 апр 2015, 19:00

doter.ua писал(а):Используй вес в паре с мач_парент
Спасибо, это работает, но всёравно как то через раз, я не понимаю что то, что и когда я делаю не так.
Запустил студию, создал лейаут, вот код:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.5"></LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.5"></LinearLayout>
</LinearLayout>
Всё было нормально, они поделили экран поровну, потом изменил вес на 1 и 2, тоже адекватно поделили экран 1 к 2. потом кинул в один из внутренних лейаутов 2 картинки, с теми же параметрами - матч парент и вес 0.5, они тоже разделили пространство поровну, однако когда начал менять их вес - они начали вести себя неадекватно, получалось так что чем меньший вес у картинки тем больше места она занимает, почему так? А потом этой же хренью и лейауты заразились, даже когда удалил картинки и вообще пересоздал лейаут. Создавал такой же как в коде выше, задавал вес, и получалось что чем меньше вес тем больше места занимает элемент, от чего так? Где найти логику? Или может это баг студии?

Ответить