2016-12-17 4 views
0

私は私のRecyclerViewで画像を表示するには、このレイアウトを使用します。アンドロイド:centerCrop規模とImageViewの持っていない4.1.1および4.4.4(AndroidのSDK)で同じ動作

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

私は写真を読み込みますそのようなライブラリーをグライド:

Glide.with(context) 
    .load(my_url) 
    .skipMemoryCache(true) 
    .placeholder(R.drawable.default_medium_wide_picture) 
    .crossFade() 
    .into(contentHolder.mImageView); 

ImageViewの高さはviewholder作成中に計算された幅の画面に従って:

DisplayMetrics metrics = MyApplication.getInstance().getResources().getDisplayMetrics(); 
imageView.getLayoutParams().height = Math.round(metrics.widthPixels * Defines.IMAGE_HEIGHT_RATIO); 

結果は4.4.4 Androidのバージョンに最適です:

enter image description here

しかし、4.1.1 Androidのバージョンに期待される結果は悪いです:事前による

enter image description here

感謝みんなあなたの助けに!

+0

layout_width値= wrap_contentを変更してください。 &チェックしてください.. – Eesha

答えて

0

グライドのcenterCropを使用して、幅に基づいて高さの計算を削除できます。

Glide.with(context) 
    .load(my_url) 
    .skipMemoryCache(true) 
    .placeholder(R.drawable.default_medium_wide_picture) 
    .crossFade() 
    .centerCrop() // Use centerCrop here 
    .into(contentHolder.mImageView); 
関連する問題