2012-02-15 16 views
13

私は480ピクセル×40ピクセルのイメージを持っています。私はそれに合わせて拡大することなくImageViewにこの画像を表示したいと思います。Android Imageviewで拡大/縮小を防止するにはどうすればよいですか?

例:私の画面が320ピクセルしかない場合は、画像の320ピクセルしか画面に表示しないようにします。画像の残りの部分が途切れてしまったとしても、 。

拡大縮小を防ぐ方法はありますか?

EDIT:また、画像の左側がデバイスの画面の左側に並んでいるようにしたいと思います。

おかげ

答えて

23

XMLでこのように使用ScaleType.CENTER、:

android:scaleType="center" 

はこれ以上、ここで読むの "ビューで画像を中央に、ないスケーリングを行わない"

ます:http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

(これは、グーグルで初めてのヒット "イメージビュースケール"です)

+0

'ScaleType'は間違いなく行く方法です。さまざまなユースケースに対応しています。 –

+0

ありがとうございますが、それは左に固執する方法がありますか? – PaulG

+0

@PaulG RelativeLayout – AedonEtLIRA

10

スケーリングなしでセンタリングなしに設定するには、MATRIX scaletypeを使用してください。

setImageMatrix(matrix)を使用して設定しない限り、単位行列を使用します。

android:scaleType="matrix" 

またはJavaで:

view.setScaleType(ImageView.ScaleType.MATRIX); 
+0

ありがとう! scaleTypeの中心が期待どおりに機能しませんでしたが、行列は行いました。 私の場合、私はイメージのTextView layout_toLeftOfを持っています。テキストが大きくなると、イメージを常に元のサイズに保つ必要があります。 – Moxor

0

私は私が画面に拡大したかった固定サイズのグラフィックを持っていた同様の問題があったが、それは480×200

た割合にとどまります

高さにFill_parentを使用したので、幅に合わせてwrap_contentを拡大します。 「親の左揃え」および「親の上揃え」も同様です。

あなたのケースでは、両方の上にwrap_contentを使用するだけでなく、「左揃え」を使用することもできます。 次に、通常の画面でRight Margin 180dpを使って幅をつまんで、幅を維持していることを確認します。

<ImageView 
    android:id="@+id/imageLayer" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginRight="180dp" 
    tools:ignore="ContentDescription" /> 
1

この方法を試してください。

    android:adjustViewBounds="true" 
        android:scaleType="centerCrop" 
関連する問題