2016-09-02 3 views
-2

это мой первый пост здесь, поэтому, пожалуйста, простите меня за возможную тривиальность проблемы.GridLayout прямо на ImageView - android

Итак, я пытаюсь создать свое первое приложение для Android, которое в основном представляет собой навигационную систему закрытой области. Я хочу отметить маршрут от точки A до B на картинке карты, используя красные точки.

Как неопытный программист для Android, я придумал решение: GridLayout на ImageView - сетка будет заполнена точками, которые не видны, и выбранные будут установлены на видимые (я получил выбранную часть разобрались). Суть в том, что я не знаю способа позиционирования их непосредственно друг над другом. На данный момент точки отображаются сверху, а карта центрирована.

Копирование с различными размерами экранов - это другое дело, которое, вероятно, потребует некоторого дополнительного метода try и fail после сортировки объекта выравнивания.

Благодарим за отзыв!

ответ

0

Хорошо, поэтому мне удалось решить мою небольшую проблему: Мне пришлось добавить android:adjustViewBounds="true" в ImageView. Таким образом, границы изображения находятся на нем, а не на макете. Тогда я мог бы выровнять GridLayout - android:layout_alignTop="@id/map"

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/map" 
    android:id="@+id/map" 
    android:adjustViewBounds="true" 
    android:layout_centerInParent="true"/> 
<GridLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignTop="@id/map" 
    android:id="@+id/gridlayout"> 
    <ImageView 
     android:layout_width="16dp" 
     android:layout_height="16dp" 
     android:src="@drawable/dot" /> 
</GridLayout> 

Также я использую RelativeLayout сделать так

Смежные вопросы