Ответ 1
проверьте этот пример, он помогает
Я пытаюсь сделать изображение в ImageView, но я хочу, чтобы он был немасштабирован, при необходимости, с помощью прокрутки. Как я могу это сделать? Прямо сейчас у меня есть набор для рисования как андроид: src ImageView в XML. Это автомасштабирует изображение, чтобы оно соответствовало ширине экрана.
Я читал, что это может быть из-за режима совместимости (разработка для 1.5, тестирование на 2.1), но затем я добавил
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
для моего манифеста, и ничего не изменилось.
Любые подсказки?
-
Изменить: я использовал android:scaleType="center"
в ImageView, и это отображает полное изображение (не могу поверить, что я не видел этого раньше), но я все же получаю только вертикальную полосу прокрутки. Использование android:scrollbars="horizontal"
в ScrollView, которое обернуто вокруг ImageView (очевидно), скрывает вертикальную полосу прокрутки, но не показывает горизонтальную полосу прокрутки...
проверьте этот пример, он помогает
Это сработало для меня (используя HorizontalScrollView внутри ScrollView):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imagen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
/>
</HorizontalScrollView>
</ScrollView>
</LinearLayout>
Я считаю, что вам нужно изменить размер ImageView на размер растрового изображения и поместить ImageView в ScrollView. Но вы можете столкнуться с проблемами памяти, пытаясь отобразить большое изображение.