2013-12-11 98 views
6

我有不同的佈局。一些由xml創建。一些其他人通過代碼dinamically。當我在xml上時,我可以用「wrap_content」值設置寬度或高度。如何獲得相同的結果dinamically?這是我的動態TextView的片段。我需要刪除「final int width = 440;」並獲得「wrap_content」的相同值。怎麼樣?如何從代碼設置android:layout_width =「match_parent」?

final int width = 440; 
    final int height = textViewHeight; 
    final int top = getNewTop(height); 

    FrameLayout.LayoutParams layoutParams; 
    layoutParams = getLayoutParams(width, height, top); 

    TextView textView; 
    textView = new TextView(_registerNewMealActivity); 
    textView.setText(text); 
    textView.setLayoutParams(layoutParams); 

    _frameLayout.addView(textView); 
+0

你在谷歌看到WRAP_CONTENT? – sensorario

回答

4

試試如下:

FrameLayout.LayoutParams layoutParams; 
layoutParams = getLayoutParams(LayoutParams.WRAP_CONTENT, height, top); 

    TextView textView; 
textView = new TextView(_registerNewMealActivity); 
textView.setText(text); 
textView.setLayoutParams(layoutParams); 
2

可以使用FrameLayout.LayoutParams.WRAP_CONTENTwidth

8

您可以使用:

textView.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, height));

+1

+1提FrameLayout而不RelativeLayout – Arunkumar

+0

@ArunkumarSharma:你可以告訴它是如何不同,實際上總是很困惑,當使用LayoutParams時,我應該導入哪一個,或者如果你可以請建議任何鏈接或帖子。 – DroidDev

+0

@VishwasSharma'LayoutParams被視圖用來告訴他們的父母他們想如何擺放。[Check This](http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html) – SilentKiller

0

你可以做這樣的事情。

RelativeLayout.LayoutParams flparams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,(int)height); 
      youlayoutname.setLayoutParams(flparams); 
-1

試試這個>>>

layoutParams.getLayoutParams().width = 20;