2017-11-21 16 views
1

Glide 4.3.0wasabeef/glide-transformationsを使用して、画像ビューの左下と右隅に角の半径を追加しています。画像はロードされていますが、変形は適用されず、コーナーに変更はありません。Glide RoundedCorners scaleTypeがcenterCropの場合は変換が行われません

ここに私のグライド変態です:次のように

Glide.with(context) 
    .load(message.imageUrl) 
    .apply(bitmapTransform(new RoundedCornersTransformation(25, 0, RoundedCornersTransformation.CornerType.BOTTOM))) 
    .into(aq.id(R.id.ivSingleImage).getImageView()); 

私の輸入は、以下のとおりです。

import com.bumptech.glide.Glide; 
import jp.wasabeef.glide.transformations.RoundedCornersTransformation; 
import static com.bumptech.glide.request.RequestOptions.bitmapTransform; 

イメージがロードされているが、何の変換が適用されません。この実装は正しいですか?

私もCornerType.BOTTOM_LEFTCornerType.BOTTOM_RIGHT

EDIT

を試してみました私はscaleTypeがcenterCropに設定されている場合、これはのみ発生していることに気づきました。私はXMLから、それは画像の左側と右側の2つの大きなスペースではなく動作することを削除する場合:更新を参照

<ImageView 
    android:id="@+id/ivSingleImage" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:layout_marginRight="5dp" 
    android:layout_weight="1" 
    android:background="@color/white" 
    android:scaleType="centerCrop" <!--Removing this works. But leaves two spaces on left and right sides--> 
    android:layout_marginEnd="5dp" /> 

^、どのように私はイメージcenterCropを持っているし、まだ丸い変換を持つことができます?

+0

あなたは習得したもののスクリーンショットを追加できますか? –

+0

バックグラウンドを白く、高さを100dpに設定する理由は、幅と高さにはwrap_contentを使用して、背景は使用しないようにしてください。 – Meenal

+0

@Meenal Resolved投稿した答え – Dinuka

答えて

3

解決策が見つかりました。ソリューションでは、質問で触れたグライド変換ライブラリのMultiTransformationCenterCrop変換を使用しています。

相続人のソリューション:XMLのscaleType属性でcenterCropを使用して

MultiTransformation multiLeft = new MultiTransformation(
    new CenterCrop(), 
    new RoundedCornersTransformation(25, 0, RoundedCornersTransformation.CornerType.BOTTOM_LEFT)); 

Glide.with(context) 
    .load(message.imageUrl) 
    .apply(bitmapTransform(multiLeft)) 
    .into(aq.id(R.id.ivSingleImage).getImageView()); 

はグライドライブラリの変換では動作しません。

関連する問題