2017-09-08 2 views
0

나는 안드로이드에서 이미지 처리에 대해 많은 의구심을 가지고 있으며, 해결할 수 있는지 알고 싶습니다.ImageView 안드로이드에서 글라이드로 이미지 크기 조정

이 시점에서 나는 화면의 약 60 % 인 320dp 높이와 match_parent 너비를 차지하는 이미지를 가지고 있습니다. 글라이드가있는이 이미지는 내가 개인적으로 가지고있는 1080의 이미지 중 일부입니다.

나는 centroCrop과 fitXY를 만들려고했으나 항상 이미지를 변형시켰다. 내가 아는 첫 번째 유형은 이미지를 자르지 만 두 번째 유형은 크기에 맞지만 이미지를 높게 또는 넓게 변형시킵니다.

글라이드를 삽입하고 그대로 볼 수있는 방법이 있습니까? ImageView에서 어떤 속성을 터치해야합니까?

<ImageView 
      android:id="@+id/img" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:nestedScrollingEnabled="false" 
      app:layout_collapseMode="parallax" 
      android:scaleType="fitXY" 
      app:layout_scrollFlags="scroll|enterAlways" /> 

미리 감사드립니다.

+0

'.override (w, h)'를 사용하십시오. – Piyush

+0

그리고 1080이없는 이미지가 있습니까? 예를 들어 사용자를 대상으로합니다. 그들에는 다른 크기를 가진 심상이있다. – Traif

+0

@Traif 글라이드로 맞춤형 변환을 확인하십시오. – Raghunandan

답변

0
Glide 
    .with(context) 
    .load(path) 
    .override(600, 200) 
    .centerCrop() 
    .into(imageViewResizeCenterCrop); 

@Raghunandan이 맞습니다. 변형 방법을 시도해야합니다.

0

당신이 다음 scaleType을 사용할 수 있습니다 "fitCenter"또는 "centerInside"다음과 같이 글라이드를 사용하지 않고 이미지를로드하려면 -

<ImageView 
     android:id="@+id/img" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:nestedScrollingEnabled="false" 
     app:layout_collapseMode="parallax" 
     android:scaleType="centerInside" 
     app:layout_scrollFlags="scroll|enterAlways" /> 

글라이드 사용하면 (시간, w) 재정의를 사용할 수 있습니다. override (w, h)를 사용하면 glide는 override (w, h)에 언급 된 너비와 높이로 새 비트 맵을 생성 한 다음 이미지를 ImageView에로드합니다. fitCenter()를 사용하여 이미지를 정렬 할 수 있습니다. diskCacheStrategy()를 사용할 수도 있습니다. 글라이드를 사용하지 않으면 새로 생성 된 비트 맵 만 잡아 당깁니다. 원본 이미지를 잡으려면 diskCacheStrategy (DiskCacheStrategy.ALL)를 사용하십시오.

Glide.with(context) 
      .load(image_path) 
      .override(800, 400) 
      .fitCenter() 
      .diskCacheStrategy(DiskCacheStrategy.ALL) 
      .into(imageView) 

이 정보가 도움이되기를 바랍니다.

관련 문제