我有一个小(有点棘手)的问题,我自己几个小时都无法解决。问题场景是:
我正在以编程方式(来自数据库)添加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 附近。任何有想法的人...