调整图像大小以适合LinearLayout
问题描述:
我需要根据用户选择动态地将一些图像添加到LinearLayout,但我无法弄清楚在添加图像之前如何调整图像大小。我尝试了setWidth()
和setHeight()
方法,但它似乎什么都不做。我想将它们设置为某个dp。调整图像大小以适合LinearLayout
感谢任何人看着这个。
ImageView image = new ImageView(getApplicationContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
image.setLayoutParams(params);
image.setScaleType(ImageView.ScaleType.CENTER);
image.setImageResource(R.drawable.icon1);
LinearLayout layout = (LinearLayout) findViewById(R.id.iconLayout);
layout.addView(image, cart.size()-1, params);
答
问题:
ImageView.ScaleType.CENTER
它是什么做的是,它会扩展你的形象,但它只能适合在x或y轴。
Compute a scale that will maintain the original src aspect ratio,
but will also ensure that src fits entirely inside dst. At least
one axis (X or Y) will fit exactly. The result is centered inside dst.
解决方案:
可以使用ImageView.ScaleType.FILL
在X和Y轴缩放图像依赖于高度和你ImageView
的宽度。
image.setScaleType(ImageView.ScaleType.FILL);
答
好的。我想通过正确的方向进行指导。我能够使用FIT_CENTER
并完成它。
Uset FitXY而不是中心 – k0sh 2014-09-04 00:48:47