Отображение изображения большего размера, чем экран устройства

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


person eyal    schedule 23.06.2011    source источник


Ответы (4)


используйте прокрутку с просмотром изображения и установите высоту этого прокрутки

Пример

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
    <ImageView
        android:id="@+id/accountIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />

</ScrollView>
person Sunil Kumar Sahoo    schedule 23.06.2011
comment
Это отлично сработало для меня! Единственная проблема заключалась в том, что после этого ImageView не был центрирован, поэтому мне нужно было добавить только layout_gravity="center" в ImageView. Также обратите внимание, что в современном Android fill_parent устарела и может быть безопасно заменена на match_parent во всех случаях (поскольку они оба делают одно и то же). - person Charles Madere; 29.10.2013

Я заметил, что мне нужно использовать обычный (вертикальный) и горизонтальный ScrollView для прокрутки в обоих направлениях. Дайте мне знать, если есть другой способ.

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scrollView" >
    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/horizontalScrollView">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imageView3"
            android:src="@drawable/big_map"/>
        </HorizontalScrollView>
</ScrollView>

Он начал отображать форму левого верхнего угла изображения. Если бы я попытался использовать android:layout_gravity="center", я получил бы белую часть справа или снизу. Так что центрирование у меня не работает.

Вариант 2: используйте элемент управления WebView и загрузите его с изображением onCreate.

person Deleted because of negativity    schedule 22.03.2015

Выводим из View, перезаписываем onDraw и рисуем на экране.

person mibollma    schedule 23.06.2011

Вы также можете работать с framelayout. Макет может быть больше экрана

person Mann    schedule 22.03.2015