java - 在 LinearLayouts 之间添加空间
问题描述
我正在尝试制作一个数据库项目列表,如下所示..
for (int i=0; i < jArray.length(); i++)
{
JSONObject row = jArray.getJSONObject(i);
LinearLayout ll = new LinearLayout(MainActivity.this);
ll.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,100));
Button btn = new Button(MainActivity.this);
//btn.setText(row.getString("subject"));
btn.setText(String.valueOf(i));
btn.setLayoutParams(new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,(float)0.8));
File imgFile = new File(file_path);
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView iv = new ImageView(MainActivity.this);
iv.setScaleType(ImageView.ScaleType.FIT_XY);
iv.setImageBitmap(myBitmap);
iv.setLayoutParams(new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,(float)0.2));
ll.addView(btn);
ll.addView(iv);
LinearLayout sv = findViewById(R.id.sv_layout);
sv.addView(ll);
}
但我想在线性布局之间留出空间并使图像高度更短以与按钮高度相等
我怎样才能做到这一点?谢谢,
解决方案
请尝试此代码
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 100);
params.setMargins(0, 5, 5, 10);
ll.setLayoutParams(params);
您可以在此行中添加您的特定边距params.setMargins(0, 5, 5, 10);
推荐阅读
- php - 存储类方法 url 在 laravel 8 中不起作用
- html - Highcharts 将外部工具提示添加到特定的 div
- python - 如果我们使用 categorical_crossentropy,我们可以使用二进制准确度指标吗?
- dynamics-crm - 如何将电子邮件接收者设置为 Case 的主要联系人?
- flutter - 第 2 行第 5 列错误:此处不允许映射值。你之前错过了一个冒号吗?
- javascript - 反应:关闭一个模态点击外部
- python - DIctionary 确实按预期更新了内部字符串列表;而是返回 None
- python - 如何检查是否在窗口外的 TKinter 中按下了某个键?
- excel - Excel中更改字体颜色的按钮
- c# - EF Core 5 检索数据库多对多记录'值不能为空。(参数'源')'