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

Q8y*_*Dev 36 android textview android-xml

我想在将其添加到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>
Run Code Online (Sandbox Code Playgroud)

我只想将它从50改为70:

我试过了:

 TextView text = (TextView)findViewById(R.id.text_l);
 text.setHeight(70);
Run Code Online (Sandbox Code Playgroud)

但没有改变.

Jin*_*n35 92

你应该改变它LayoutParams:

LayoutParams params = (LayoutParams) textView.getLayoutParams();
params.height = 70;
textView.setLayoutParams(params);
Run Code Online (Sandbox Code Playgroud)

编辑

您不应在代码中使用像素大小,请使用以下维度:

dimens.xml:

<dimen name="text_view_height">50dp</dimen>
Run Code Online (Sandbox Code Playgroud)

在代码中:

params.height = getResources().getDimensionPixelSize(R.dimen.text_view_height);
Run Code Online (Sandbox Code Playgroud)


Dhr*_*val 10

实际上你可以设置textview高度,如:

private TextView mTxtView;
int height = 50; //your textview height
mTxtView.getLayoutParams().height = height;
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这样做,而不是找到正确的Layoutparams类 (4认同)