我正在尝试使用Glide
库加载位图时将9补丁图像实现为ImageView的占位符。
当我尝试使用 9-patch image 作为占位符时,实际图片会调整为较小尺寸并加载到ImageView
。如果我使用常规图片作为占位符,则此问题不存在,并且加载的图片将填充整个ImageView
。
你能告诉我这里我做错了什么吗?
Glide.with(getContext())
.load(imagePath)
.centerCrop()
.placeholder(R.drawable.my_9_patch_image)
.into(imageView);
编辑:添加布局代码
public class MyLayout extends RelativeLayout{
private ImageView imageView;
public MyLayout(Context context) {
super(context);
}
public MyLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void setPictures(ArrayList<String> listPicturePaths){
this.setGravity(Gravity.CENTER);
setupImageView();
setPicture(0);
}
private void setupImageView(){
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
this.imageView = new ImageView(getContext());
this.imageView.setLayoutParams(params);
this.addView(imageView);
}
private void setPicture(int index){
Glide.with(getContext()).load(mListPicturePaths.get(index)).centerCrop().placeholder(R.drawable.my_9_patch_image)
.into(imageView);
}
}
答案 0 :(得分:0)
你没有做错任何事; Glide在下载之前不知道图像的大小,因此它不知道显示占位符的大小。
如果您知道尺寸或宽高比,则需要指定imageView的宽度和/或高度。