Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,816
1

Ограничение InfoWindow

24.01.2016, 13:09. Просмотров 512. Ответов 8
Метки нет (Все метки)

Здравствуйте, возникла очередная гадость, которую ни умом, ни гуглом никак понять не получается.
Есть разметка с картой и тулбаром:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
 
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
 
        <org.osmdroid.views.MapView
            android:id="@+id/map_e"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>
 
    <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolbar_e"
        android:layout_width="match_parent"
        app:theme="@style/Theme.AppCompat.Light.NoActionBar"
        android:layout_height="?android:actionBarSize"
        android:focusable="false" />
</FrameLayout>
И разметка окошка маркера, то есть тыкаем пипку на карте, открывается это окошко прямо на карте:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:alpha="0.75"
    android:background="@drawable/bonuspack_bubble"
    android:orientation="vertical">
 
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
 
        <LinearLayout
            android:id="@+id/balloonLayuot"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
        <include layout="@layout/marker_layout" />
        </LinearLayout>
    </ScrollView>
</LinearLayout>
Проблема в том, что при большом количестве инфы для одного маркера (бывает так, что маркер один, но значений несколько, например, несколько организаций в одном здании), эта инфа уезжает под тулбар и даже дальше немного.
layout_margin и layout_below не помогают, так как разметка маркера вставляется программно и, видимо, не сознает себя детищем чего-то большего. Вопрос такой: как ограничить размер информационного окна тулбаром сверху, чтобы оно упиралось и начало складываться в скролл?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2016, 13:09
Ответы с готовыми решениями:

Ограничение доступа к элементам UI
Здравствуйте уважаемые android разработчики. Будьте так добры помочь ламеру в...

Ограничение расхода трафика
Подскажите, возможно ли ограничить потребление интернет-трафика (скорость...

Ограничение длины текста
Есть TextView, есть текст, который в этот TextView вписывается. Как сделать: -...

Существует ли ограничение на количество ImageView?
Мне надо чтоб на екране отрисовывалось следующее: Фон и на нем комбинация из 4...

Установить ограничение экрана на запуск приложения
Необходимо разрешить запуск приложения только с конкретно заданным разрешением...

8
Pablito
2811 / 2235 / 754
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
25.01.2016, 14:02 2
мне кажется карта занимает всю доступное пространство на FrameLayout
а это значить что карта и под тулбаром
надо пробовать FrameLayout менять на CoordinatorLayout
0
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,816
26.01.2016, 00:00  [ТС] 3
Паблито, Да, карта занимает весь слой, тулбар прозрачный. CoordinatorLayout пробовал, всё также. Причем заезжает и за экран, это видно за тулбаром, но не всё, часть информации сворачивается в скролл. Самое простое в этом случае - layout_marginTop, однако игнорируется.
0
Pablito
2811 / 2235 / 754
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
26.01.2016, 10:58 4
можно при клике на маркер просто перемещать камеру так что бы маркер оказывался в центре экрана
0
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,816
26.01.2016, 11:02  [ТС] 5
Паблито, Сделано, маркер я ставлю даже не в центре, а где-то между центром и низом, но вот попалось два маркера, где инфы больше, и на маленьких устройствах уезжает...
0
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,816
27.01.2016, 15:08  [ТС] 6
Паблито, а можно как-нибудь слой привязать к другому слою, намеренно делать его дочерним элементом?
0
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,816
30.01.2016, 13:42  [ТС] 7
Самое интересное, если задать android:layout_width и android:layout_height фиксированными, то ничего не меняется, хотя в превью всё нормально.
0
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,816
12.02.2016, 16:04  [ТС] 8
Проверил, что у карты и у маркера один и тот же родитель, но если:
Java
1
2
3
4
5
6
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.MATCH_PARENT
        );
        params.setMargins(0, 200, 0, 0);
        mView.setLayoutParams(params);
для карты работает, для маркера игнорируется...
0
ExFau$t
676 / 567 / 131
Регистрация: 08.05.2012
Сообщений: 2,816
13.02.2016, 23:00  [ТС] 9
Пролистал библиотеку карты, нашел метод открытия маркера, переопределил его с фиксированной высотой. Грубо, но вполне сносно.
0
13.02.2016, 23:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2016, 23:00

Ограничение EditText на ввод максимальных int и float
Есть диалог в котором можно ввести пару чисел в EditText'ах, из первого из них...

Ограничение количества символов после запятой в TextView
Здравствуйте. Есть поле TextView После математических вычислений в него...

Подскажите, как сделать ограничение, чтобы поля проверялись на пустоту
Подскажите, как сделать ограничение, чтобы поля проверялись на пустоту, и если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru