Glide 圆形图像被裁剪
Glide circular image gets cropped
我正在尝试使用滑行制作圆形图像视图...
我遵循了本教程 How to round an image with Glide library?,但我的图像总是顶部和底部被裁剪
我尝试更改图像视图尺寸但没有任何变化,始终裁剪且比例相同
我做错了什么
Glide.with(this).load(MasterFacade.getFacade().getLocalUser().getProfilePicUrl()).apply(RequestOptions.centerCropTransform()).into((ImageView) findViewById(R.id.profileImageView));
和布局
<ImageView
android:id="@+id/profileImageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/profileImageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:layout_margin="15dp"
android:scaleType="fitXY" />
问题是与其他视图重叠,留有余量应该可以解决您的问题
试试这个
添加xml布局:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="1dp"
android:id="@+id/lay_profpic"
android:layout_gravity="center"
android:layout_margin="20dp"
android:background="@drawable/border_circle">
<ImageView
android:id="@+id/profile_picture"
android:scaleType="centerCrop"
android:layout_centerHorizontal="true"
android:src="@color/white"
android:layout_gravity="center"
android:layout_width="90"
android:layout_height="90dp" />
</RelativeLayout>
添加Java代码使用Glide
Glide.with(this)
.load(user.getProfilePicture())
.transform(new CircleTransform(this))
.into(new GlideDrawableImageViewTarget(ivProfilePicture) {
@Override
public void onResourceReady(GlideDrawable drawable, GlideAnimation anim) {
super.onResourceReady(drawable, anim);
ivProfilePicture.setImageDrawable(drawable);
ivProfilePicture.invalidate();
ivProfilePicture.requestLayout();
}
});
Glide.with(context)
.load("https://yourImageUrl.jpg")
.apply(new RequestOptions().circleCrop())
.into(headerImage);
我正在尝试使用滑行制作圆形图像视图... 我遵循了本教程 How to round an image with Glide library?,但我的图像总是顶部和底部被裁剪
我尝试更改图像视图尺寸但没有任何变化,始终裁剪且比例相同
我做错了什么
Glide.with(this).load(MasterFacade.getFacade().getLocalUser().getProfilePicUrl()).apply(RequestOptions.centerCropTransform()).into((ImageView) findViewById(R.id.profileImageView));
和布局
<ImageView
android:id="@+id/profileImageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/profileImageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center"
android:layout_margin="15dp"
android:scaleType="fitXY" />
问题是与其他视图重叠,留有余量应该可以解决您的问题
试试这个
添加xml布局:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="1dp"
android:id="@+id/lay_profpic"
android:layout_gravity="center"
android:layout_margin="20dp"
android:background="@drawable/border_circle">
<ImageView
android:id="@+id/profile_picture"
android:scaleType="centerCrop"
android:layout_centerHorizontal="true"
android:src="@color/white"
android:layout_gravity="center"
android:layout_width="90"
android:layout_height="90dp" />
</RelativeLayout>
添加Java代码使用Glide
Glide.with(this)
.load(user.getProfilePicture())
.transform(new CircleTransform(this))
.into(new GlideDrawableImageViewTarget(ivProfilePicture) {
@Override
public void onResourceReady(GlideDrawable drawable, GlideAnimation anim) {
super.onResourceReady(drawable, anim);
ivProfilePicture.setImageDrawable(drawable);
ivProfilePicture.invalidate();
ivProfilePicture.requestLayout();
}
});
Glide.with(context)
.load("https://yourImageUrl.jpg")
.apply(new RequestOptions().circleCrop())
.into(headerImage);