我有一个小(有点棘手)的问题,我自己花了很多时间都无法解决。问题场景是:
我正在以编程方式(从数据库)添加 TextView(即标题)和相关(可点击)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 但是当应用程序运行时;图片上方和下方几乎有 20dp 的边距。
当我将边距从 20dp 增加时,即当我将任何 0 替换为 30 或 40 时,边距会增加,但当我将其减少到 5、1 或 0 时,它不会减少。它保持在大约 20 dp 附近。任何有想法的人...
最佳答案
听起来 ImageView
上的视界没有得到正确调整。
尝试在您的 ImageView
上设置:
image.setAdjustViewBounds(true);
关于android - 图像大小问题,同时以编程方式添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16331521/