2017-09-24 12 views
0

画像を表示するためのアクティビティを作成したとき、解像度が低い画像は単に画面にフィットするだけでなく、必要な領域を占めるだけです。 The Activity that I created低解像度の画像を拡大してAndroidの画面に拡大するにはどうすればいいですか?

活動のXMLコードはこれです:これが私の活動である

<LinearLayout 
    android:layout_width="match_parent" 
    android:gravity="center" 
    android:layout_height="match_parent"> 
     <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/nick"/> 
</LinearLayout> 

私が選択した画像の比率を画面に画像を合わせてImageViewのにしたい Galary Activity

ガラリアプリの画像は、自分のアクティビティで使用した画像よりも小さい解像度です!だからこれはどのように行われますか?

答えて

0

異なるscaleTypeを使用してスケールアップすることができます。しかし、ピクセル化やその他の問題を引き起こす可能性があります。ほとんどの画像を拡大するよりも、大きな画像と縮小画像(または2つの画像、フルサイズとサムネイル)を使用する方が効果的です。

[編集] [OK]をクリックして質問を読み直してください。スケールタイプでは不十分です。これをカスタムビューとして使用してみてください:

import android.content.Context; 
import android.graphics.drawable.Drawable; 
import android.util.AttributeSet; 
import android.widget.ImageView; 



public class HeightScaleImageView extends ImageView { 

    public HeightScaleImageView(Context context) { 
     super(context); 
    } 

    public HeightScaleImageView(Context context, AttributeSet attributeSet) { 
     super(context, attributeSet); 
    } 

    public HeightScaleImageView(Context context, AttributeSet attributeSet, int defStyle) { 
     super(context, attributeSet, defStyle); 
    } 

    @Override 
    public void setImageResource(int resId) { 
     super.setImageResource(resId); 
     requestLayout(); 
    } 

    @Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     int width = 0; 
     int height = 0; 
     //Scale to parent width 
     width = MeasureSpec.getSize(widthMeasureSpec); 
     Drawable drawable = getDrawable(); 
     if (drawable != null) { 
      height = width * getDrawable().getIntrinsicHeight()/getDrawable().getIntrinsicWidth(); 
     } 
     super.onMeasure(MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)); 
    } 
} 
+0

私はすべてのスケールオプションを使用しました。何も動作しません!うん、ピクセル化は問題ですが、私はこの機能を自分のアプリケーションに必要としています。ユーザはピクセル化された画像を選択する可能性があるからです。 –

+0

@FebinMathewは自分の編集をチェックします。あなたは正しい、スケールタイプはwrap_contentの高さを持つmatch_parentへの縦横比スケーリングには不十分です。上記のコードはうまくいくはずです –

関連する問題