Как отобразить изображение, которое больше, чем размеры экрана телефона? - PullRequest
4 голосов
/ 03 февраля 2012

У меня есть вопрос, на который я не нашел реального последовательного ответа. Вот почему я обращаюсь к вам, ребята.

Я пытался добиться эффекта «видоискателя» для моего приложения в следующем смысле:

У меня есть огромная картинка, над которой я хочу «летать» (прокручивать по горизонтали и вертикали, пока не достигну границ). Пока что все популярные ответы на этот (или аналогичные вопросы) состоят в использовании схемы, которая напоминает что-то вроде этого:

<ScrollView...>

  <RelativeLayout ...>

    <Imageview ...>
    </Imageview>

  </RelativeLayout>

</ScrollView>

Это не работает для меня, потому что уменьшает изображение, которое я пытаюсь сохранить в исходном БОЛЬШОМ размере, чтобы я мог позволить пользователю перемещаться по нему .

Полагаю, мой вопрос сводится к следующему: как получить возможность прокрутки Карт Google, используя представления и макеты Android, если это вообще возможно ... Если нет, у вас есть предложение? Должен ли я двигаться в направлении 2D Canvas?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 03 февраля 2012

Вы можете указать scaleType в центре для ImageView, чтобы не масштабировать изображение.

<ImageView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 

    android:scaleType="center"
    android:src="@drawable/myImage" /> 

Также вы можете использовать HorizontalScrollView для горизонтальной прокрутки.

1 голос
/ 03 февраля 2012

Остерегайтесь попыток полностью загрузить большие изображения в ОЗУ - помните, что для растрового запоминающего устройства разрешено только около 20 МБ (в зависимости от устройства).

Если вы можете каким-то образом разбить изображение на плитки, вы можете использовать класс прокрутки 2D здесь , чтобы отобразить его.

...