我正在嘗試制作如下所示的數據庫項目列表.. 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); }結果是這樣的:但我想在線性布局之間留出空間并使圖像高度更短以與按鈕高度相等我怎樣才能做到這一點?謝謝,
3 回答

鳳凰求蠱
TA貢獻1825條經驗 獲得超4個贊
在布局參數中設置邊距并將它們傳遞給您的 ImageView 對象。
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(0,LinearLayout.LayoutParams.MATCH_PARENT,(float)0.2);
int dp = getDps(8);
layoutParams.setMargins(0,dp,0,dp);
iv.setLayoutParams(layoutParams);
函數 getDps():
public int getDps(int sizeInDp){
float scale = getResources().getDisplayMetrics().density;
return (int) (sizeInDp*scale + 0.5f);
}
這看起來像:

有只小跳蛙
TA貢獻1824條經驗 獲得超8個贊
請試試這個代碼
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);
添加回答
舉報
0/150
提交
取消