2016-08-26 19 views
0

私はユニバーサルイメージローダーを使用して、イメージビュー(大きな高さ)をリストビューに読み込みます。
これは活動のリストビュー(/アウトでズーム用カスタム)です:Imageviewに漫画を表示

<noname.test1.CustomListView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/listviewImg" /> 

これは、リストビューのためにlist_img.xmlです:

<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/imageview1"> 
</ImageView> 

これは私が(サイズ400ピクセルX 5312pxをロードしたい画像です): link

これは結果である:
enter image description here




ショーがフルスクリーン以上であるとき、私はイメージをしたいです。
修正方法?

+0

を助けることを願っていますこれをみては? – sumandas

+0

@sumandas:画像が画面いっぱいに表示されるようにしたいのですか? – 1234abcd

+0

'scaleType =" centerCrop "'を追加してください。 –

答えて

0

は、このクラスを作成して、代わりにImageViewの

/** 
* Created by farazkhonsari on 1/26/16. 
*/ 

public class ScaledImageView extends ImageView { 

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

public ScaledImageView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public ScaledImageView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    try { 
     Drawable drawable = getDrawable(); 

     if (drawable == null) { 
      setMeasuredDimension(0, 0); 
     } else { 

      int measuredWidth = MeasureSpec.getSize(widthMeasureSpec); 
      int measuredHeight = MeasureSpec.getSize(heightMeasureSpec); 
       int width = measuredWidth; 
       int height = width * drawable.getIntrinsicHeight()/drawable.getIntrinsicWidth(); 
       setMeasuredDimension(width, height); 

     } 
    } catch (Exception e) { 
     super.onMeasure(widthMeasureSpec, heightMeasureSpec); 
    } 
} 

と、このようなレイアウトでは、このクラスを使用するのにこれを使用します。

<ir.farazGroup.YeJoke.tools.ScaledImageView 
      android:id="@+id/image" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:src="@drawable/c" 
      android:scaleType="fitCenter" 
/> 
+0

ありがとうございました。 – 1234abcd

0

あなたは真のimageViweのscaleTypeと設定adjustViewBoundを変更する必要があります。

<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/imageview1" 
android:scaleType="centerCrop" 
android:adjustViewBounds="true"> 
</ImageView> 

あなたはscaleTypeのための他のオプションを試してみて、あなたのために良いですどれ見ることができます!

と、あなたはここにscaleTypeについて読むことができます。 scaleTypes

+0

それは完全なイメージではなく、イメージの一部を表示するだけです。 – 1234abcd

0

この解決策を試してください:[リストを膨らませた後にonCreateまたはonCreateViewの中に設定する]

imageView = (ImageView) findViewById(R.id. imageview1); 

Display display = getWindowManager().getDefaultDisplay(); 
DisplayMetrics metrics = new DisplayMetrics(); 
display.getMetrics(metrics); 
float screenWidth = metrics.widthPixels; 
imageView.getLayoutParams().width = (int) screenWidth; // Takes the whole screen width 
0

私はあなたがそれになりたいものをあなたに

<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/imageView" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:src="@drawable/locked_image" 
    android:scaleType="fitXY" 
/> 
関連する問題