2014-04-02 77 views
0

我已經創建的LinearLayout編程爲設置佈局高度,以Wrapcontent到動態創建的TextView

LinearLayout wrapper = new LinearLayout(this.getContext()); 

和TextView的作爲TextView et = new TextView(getContext());

我想textviews佈局高度被wrapcontent所以我這樣做

et.setLayoutParams(new LayoutParams(android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT)); 

然後我將Textview et添加到LinearLayout中作爲

wrapper.addView(et); 

但是當我如上設置LayoutParams時,我的textview消失並且不顯示在UI中。 如果我在默認情況下刪除它,Textview將把高度設置爲MATCHPARENT。

如何將textviews layoutheight設置爲WRAP_CONTENT

+0

有你在設置文本嘗試它。 –

+0

我認爲它消失了,因爲它沒有任何東西可以顯示。 –

+0

我已經設置文本,如果我不設置textparams textview我的文字是可見的 – Mario

回答

0

試試這個..

LinearLayout first_lay = new LinearLayout(this); 

LinearLayout.LayoutParams lp_icon = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); 

first_lay.setOrientation(LinearLayout.VERTICAL); 
first_lay.setLayoutParams(lp_icon); 

LinearLayout.LayoutParams tests = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER); 

TextView text1 = new TextView(this); 
text1.setLayoutParams(tests); 
text1.setText("Text"); 
text1.setTextSize(18); 

first_lay.addView(text1); 
+0

不在這裏工作 – Mario

+0

@Mario你使用'setContentView(first_lay)'或添加'first_lay'到其他xml視圖 – Hariharan

0

還必須是父母線性佈局添加到主contentlayout父母即所有在側活動視圖中可見

LinearLayout child_insidenew_layout = new LinearLayout(getActivity()); 
         child_insidenew_layout.setOrientation(LinearLayout.HORIZONTAL); 
LinearLayout.LayoutParams child_inside_paramsnew = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); 
         child_insidenew_layout.setLayoutParams(child_inside_paramsnew); 
    child_insidenew_layout.setGravity(Gravity.CENTER_VERTICAL); 
         child_insidenew_layout.setBackgroundResource(R.drawable.layout_selector); 
TextView textrootname = new TextView(getActivity()); 
LinearLayout.LayoutParams TextView_params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    textrootname.setText("here is ur text"); 
    textrootname.setSingleLine(true); 
    textrootname.setGravity(Gravity.CENTER); 
    textrootname.setTextColor(Color.BLACK); 
    textrootname.setTextSize(15); 
    child_insidenew_layout.addView(textrootname, TextView_params); 
+0

不在這裏工作 – Mario

+0

老兄有你在活動中設置任何setcontentview :) –