我在png中有一个(演变版本的a)圆圈,边框很大,当ImageView
显示FIT_XY
时,它会被裁剪掉,看起来有点平方,任何想法?
RelativeLayout layout = new RelativeLayout(this);
layout.setLayoutParams(new LayoutParams(80, 80));
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.myimg);
img.setLayoutParams(new LayoutParams(80, 80));
img.setScaleType(ImageView.ScaleType.FIT_CENTER); // tried FIT_XY too
img.setAdjustViewBounds(true);
layout.addView(img);
答案 0 :(得分:0)
尝试使用固定大小(直接指定高度和宽度)和fit_center比例类型或尝试使用adjustviewbounds属性。
答案 1 :(得分:0)
编辑:
尝试使用固定大小(直接指定高度和宽度)和fit_center比例类型或尝试使用adjustviewbounds属性。 (OP表示这在他们的案例中不起作用)
尝试将layout_margin添加到图像中。如果图像内容与图像边界紧密相关,则父母的边框等可能会妨碍。
确保LayoutParams与父布局匹配(在本例中为RelativeLayout.LayoutParams)。不确定这是否是一个问题,但我过去一直对此感到厌烦。
RelativeLayout layout = (RelativeLayout)findViewById(R.id.test); // <-- Parent
ImageView img = new ImageView(this);
img.setImageResource(R.drawable.cow);
img.setLayoutParams(new RelativeLayout.LayoutParams(400, 400)); // <-- Use Parent layout type
img.setScaleType(ImageView.ScaleType.FIT_CENTER);
layout.addView(img);
new RelativeLayout.LayoutParams(400,400)使用像素而不是dip。如果您实际上想要将布局大小调整为优惠,请参阅此帖子:Using layoutparams in relativeLayout with dp