Растровое изображение в ImageView обрезается с экрана

StackOverflow https://stackoverflow.com/questions/2834476

Вопрос

Я работаю над приложением Android, которое необходимо загрузить изображение и отображать его внутри ImageView. Bitmap передается в главный файл Java и добавлен к изображению, как это:

comic = (ImageView) findViewById(R.id.comic);
comic.setImageBitmap(c.getImageBitmap());

Это работает, за исключением того, что левая сторона изображения исчезает с экрана. ImageView находится в ScrollView, который поддерживает правильный размер. Это означает, что есть черное пространство справа в ScrollView, а изображение разрезается слева.

XML для ImageView это:

<ScrollView 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <HorizontalScrollView 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ImageView 
            android:id="@+id/comic" 
            android:layout_height="fill_parent"
            android:layout_width="fill_parent" 
            android:layout_gravity="center"
            android:src="@drawable/xkcdlogo" />
    </HorizontalScrollView>
</ScrollView>

Любая идея, почему мой образ отрезан?

Спасибо!

Это было полезно?

Решение

Вы пробовали настроить Android: Scaletype = «Центр», а не Android: Layout_Gravity = "Center"?

Это будет центрировать изображение в ImageView без масштабирования.

Другие советы

Android: Scaletype = "Центркроп"

Решение, которое, наконец, сработало для меня, было установить внутренний ImageView, чтобы иметь фиксированную высоту и ширину, превышающую наибольшее изображение, добавьте много прокладки, а затем установить Android: Scrollx и Android: Collly в XML, чтобы получить размещенные изображения где мне нужно было. Это исправило проблему с изображениями, охваченными в горизонтальном свитке.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top