图像大小问题,同时以编程方式添加

时间:2013-05-02 06:15:21

标签: android android-imageview margins android-image

我有一点(并且有点棘手)问题,并且自己无法解决很多时间。问题场景是:

我正在以编程方式(从数据库)添加 TextView s(即标题)和相关(可点击) ImageView 。它们之间的差距已经非常大(我没有添加任何边距或填充它们)。我想将保证金设置为仅1dp。但我不能。

我使用了以下代码:

LinearLayout linearLayout = (LinearLayout) this.findViewById(R.id.linearLayout);

//No params and margins used for it
TextView tvTitle = new TextView(this); // getting from json (dynamically)
tvTitle.setTextSize(17) ;
tvTitle.setText(title) ;
linearLayout.addView(tvTitle) ;

ImageView image = new ImageView(this) ;
// here getting the image from url

LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) ;
params.setMargins(5, 0, 5, 0) ;
image.setLayoutParams( params );
linearLayout.addView(image) ;

这里topMargin和bottomMargin是0,但是当app运行时;图像上方和下方的边距几乎为20dp。

当我从20dp增加边距时,即当我将0替换为30或40时,边距会增加,但是当我将其减少到5或1或0时,它不会减少。它仍然接近约20 dp。有任何想法的人......

1 个答案:

答案 0 :(得分:1)

听起来ImageView上的视点未正确调整。 尝试在ImageView上设置此项:

image.setAdjustViewBounds(true);