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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ExFau$t
223 / 206 / 41
Регистрация: 08.05.2012
Сообщений: 1,148
#1

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

24.01.2016, 13:09. Просмотров 440. Ответов 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 не помогают, так как разметка маркера вставляется программно и, видимо, не сознает себя детищем чего-то большего. Вопрос такой: как ограничить размер информационного окна тулбаром сверху, чтобы оно упиралось и начало складываться в скролл?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2016, 13:09     Ограничение InfoWindow
Посмотрите здесь:

PHP Ограничение GET
Android Ограничение длины текста
C++ Builder БД Ограничение бд
SQL Server ограничение
Установить ограничение экрана на запуск приложения Android
Как создать ограничение? Надо создать ограничение ввода букв, а то программа виснет! Free Pascal
Android Как организовать ограничение движения персонажа по некоторой площадке произвольной формы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2240 / 1813 / 564
Регистрация: 12.05.2014
Сообщений: 6,456
Завершенные тесты: 1
25.01.2016, 14:02     Ограничение InfoWindow #2
мне кажется карта занимает всю доступное пространство на FrameLayout
а это значить что карта и под тулбаром
надо пробовать FrameLayout менять на CoordinatorLayout
ExFau$t
223 / 206 / 41
Регистрация: 08.05.2012
Сообщений: 1,148
26.01.2016, 00:00  [ТС]     Ограничение InfoWindow #3
Паблито, Да, карта занимает весь слой, тулбар прозрачный. CoordinatorLayout пробовал, всё также. Причем заезжает и за экран, это видно за тулбаром, но не всё, часть информации сворачивается в скролл. Самое простое в этом случае - layout_marginTop, однако игнорируется.
Паблито
2240 / 1813 / 564
Регистрация: 12.05.2014
Сообщений: 6,456
Завершенные тесты: 1
26.01.2016, 10:58     Ограничение InfoWindow #4
можно при клике на маркер просто перемещать камеру так что бы маркер оказывался в центре экрана
ExFau$t
223 / 206 / 41
Регистрация: 08.05.2012
Сообщений: 1,148
26.01.2016, 11:02  [ТС]     Ограничение InfoWindow #5
Паблито, Сделано, маркер я ставлю даже не в центре, а где-то между центром и низом, но вот попалось два маркера, где инфы больше, и на маленьких устройствах уезжает...
ExFau$t
223 / 206 / 41
Регистрация: 08.05.2012
Сообщений: 1,148
27.01.2016, 15:08  [ТС]     Ограничение InfoWindow #6
Паблито, а можно как-нибудь слой привязать к другому слою, намеренно делать его дочерним элементом?
ExFau$t
223 / 206 / 41
Регистрация: 08.05.2012
Сообщений: 1,148
30.01.2016, 13:42  [ТС]     Ограничение InfoWindow #7
Самое интересное, если задать android:layout_width и android:layout_height фиксированными, то ничего не меняется, хотя в превью всё нормально.
ExFau$t
223 / 206 / 41
Регистрация: 08.05.2012
Сообщений: 1,148
12.02.2016, 16:04  [ТС]     Ограничение InfoWindow #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);
для карты работает, для маркера игнорируется...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2016, 23:00     Ограничение InfoWindow
Еще ссылки по теме:

Ограничение SQL Server
Android Google Maps 2. Ограничение на количество запросов к google
Ограничение расхода трафика Android
Существует ли ограничение на количество ImageView? Android
Ограничение количества символов после запятой в TextView Android

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

Или воспользуйтесь поиском по форуму:
ExFau$t
223 / 206 / 41
Регистрация: 08.05.2012
Сообщений: 1,148
13.02.2016, 23:00  [ТС]     Ограничение InfoWindow #9
Пролистал библиотеку карты, нашел метод открытия маркера, переопределил его с фиксированной высотой. Грубо, но вполне сносно.
Yandex
Объявления
13.02.2016, 23:00     Ограничение InfoWindow
Ответ Создать тему
Опции темы

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