2013-05-02 30 views
2

我有一點(&有點棘手)的問題,並不能自己解決很多小時。該問題的方案是:關於圖像大小的問題,雖然以編程方式添加它

我加入的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,但是當應用程序運行;圖像上方和下方几乎有20dp的邊距。

當我從20dp增加邊距時,即當我將0改爲30或40時,邊距增加,但當我減小到5或1或0時,它不會減小。它仍然接近20 dp。任何人都有想法...

+0

爲什麼你不希望你準備佈局XML,並通過LayoutInflater在代碼中使用它? – httpdispatch 2013-05-02 06:17:38

+0

你能檢查與tvtitle Textview邊距或明確設置它可能會產生問題? – Rupali 2013-05-02 06:22:28

+0

你好老闆檢查像高度和寬度的圖像屬性 – sri 2013-05-02 06:34:37

回答

1

聽起來像ImageView未被調整正確的視圖。 嘗試設置這對您的ImageView

image.setAdjustViewBounds(true);

+0

是的,它的工作原理,非常感謝......... – user2281330 2013-05-06 19:52:05

相關問題