Pergunta

Estou trabalhando em um aplicativo Android que precisa baixar uma imagem e exibi -la dentro de um ImageView. O bitmap é passado para o arquivo Java principal e adicionado à visualização da imagem como esta:

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

Isso funciona, exceto que o lado esquerdo da imagem desaparece da tela. O ImageView está em um scrollView, que mantém o tamanho correto. Isso significa que há espaço preto à direita no ScrollView e a imagem é cortada à esquerda.

O XML para o ImageView é o seguinte:

<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>

Alguma ideia de por que minha imagem está sendo cortada?

Obrigado!

Foi útil?

Solução

Você já tentou configurar Android: scaletype = "Center" em vez de android: layout_gravity = "Center"?

Isso centralizará a imagem no ImageView sem escalar.

Outras dicas

Android: Scaletype = "Centercrop"

A solução que finalmente funcionou para mim foi definir o ImageView interno para ter uma altura fixa e largura maior que a maior imagem, adicionar muito preenchimento e depois definir o Android: Scrollx e Android: Scrolly no XML para colocar as imagens colocadas onde eu precisava deles. Isso corrigiu o problema com as imagens sendo cortadas no pergaminho horizontal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top