0

我有一個LinearLayout類,其中包含:TexView | ImageView | EditText | ImageView的。我將最後一個ImageView一直拖到LinearLayout的右側,EditText運行時間很長,在某些情況下將最後一個ImageView推到視圖外(或者它似乎將它推出視圖)。我想將EditText設置爲總寬度的百分比。我嘗試使用LinearLayout參數的重量,但它似乎導致視圖得到全部的怪異。例如,下面是對的EditText:將EditText設置爲LinearLayout中父寬度的百分比

LinearLayout.LayoutParams lpEt = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, 
                      LinearLayout.LayoutParams.WRAP_CONTENT, 
                      .50f); 

所有其他視圖跟風,但有較小的權重(.2 .2 0.1),他們全部加起來爲1.0。但LinearLayout行永遠不會正確放置。

我應該找出父母(它是一個ListView)的寬度,然後根據父母的寬度顯式設置EditText的寬度還是有更好的方法?


這是什麼工作的基礎上,通過blessenm

提供的答案
//Text 
     addView(mtextNum, new LinearLayout.LayoutParams(
          LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
     //ImageView 
     LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 

     //edit Text: 
    LinearLayout.LayoutParams lpEditText = new LinearLayout.LayoutParams(0,LayoutParams.WRAP_CONTENT,(float)1.0f); 

    //ImageView 
LinearLayout.LayoutParams ll_params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
                         LinearLayout.LayoutParams.WRAP_CONTENT); 
+0

如果您使用的是xml佈局。你可以分享給我們,以便我們指出問題。 – san 2012-01-09 05:06:50

回答

1

林不知道你的線性佈局方向上的,但即時猜測它的水平。如果是這樣的話。

LayoutParams textViewParams = new LayoutParams(LayoutParams.WRAP_CONTENT, 
     LayoutParams.WRAP_CONTENT); 
textView.setLayoutParams(textViewParams); 
LinearLayout.LayoutParams editTextParams = new LinearLayout.LayoutParams(
     0,LayoutParams.WRAP_CONTENT,1f); 
editText.setLayoutParams(editTextParams); 
LayoutParams imageViewParams = new LayoutParams(LayoutParams.WRAP_CONTENT, 
     LayoutParams.WRAP_CONTENT); 
imageView.setLayoutParams(imageViewParams); 

這將使編輯文本填充textview和imageview之間的剩餘空間。如果你需要別的東西,只需修改一下代碼。使用重量時,將重量或高度設置爲0,並將其設置爲重量。

+0

謝謝,但不幸的是沒有工作。我根據你的建議編輯了我的帖子。 – Mike6679 2012-01-10 02:40:23

+0

我接受它,現在它工作,因爲現在我將最後一個LinearLayout參數更改爲WRAP_CONTENT而不是FILL_PARENT。謝謝blessenm! – Mike6679 2012-01-10 02:48:06

相關問題