以编程方式重新设置TextView高度

我想在将它添加到xml文件的主窗口后重置textView高度。

在RelativeLayout里面,

<TextView android:id="@+id/text_l" android:layout_width="50sp" android:layout_height="50sp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginLeft="10sp" android:layout_marginTop="145dp" android:gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#000000" > </TextView> 

我只是想把它从50改成70:

我试过了:

  TextView text = (TextView)findViewById(R.id.text_l); text.setHeight(70); 

但没有任何改变。

Solutions Collecting From Web of "以编程方式重新设置TextView高度"

您应该通过LayoutParams更改它:

 LayoutParams params = (LayoutParams) textView.getLayoutParams(); params.height = 70; textView.setLayoutParams(params); 

编辑

您不应该在代码中使用像素大小,请使用以下尺寸:

dimens.xml:

 <dimen name="text_view_height">50dp</dimen> 

在代码中:

 params.height = getResources().getDimensionPixelSize(R.dimen.text_view_height); 

实际上,你可以像下面这样设置textview的高度:

 private TextView mTxtView; int height = 50; //your textview height mTxtView.getLayoutParams().height = height; 

你可以dynamic设置textview的宽度和高度

 private TextView mTxtView; private int screenWidth, screenHeight; Display display = getWindowManager().getDefaultDisplay(); screenWidth = display.getWidth(); screenHeight = display.getHeight(); LayoutParams params = mTxtView.getLayoutParams(); params.width = screenWidth-30; mTxtView.setLayoutParams(params);