以编程方式重新设置 TextView 高度
我想在将 textView 添加到 xml 文件中的主窗口后重置它的高度。
在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);
但没有任何改变。
I want to reset a textView height after I have added it to the main window in the xml file.
inside a 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>
I just want to change it from 50 to 70:
I tried:
TextView text = (TextView)findViewById(R.id.text_l);
text.setHeight(70);
but nothing changed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您应该通过
LayoutParams
更改它:编辑
您不应在代码中使用以像素为单位的大小,而应使用尺寸:
dimens.xml:
在代码中:
You should change it via
LayoutParams
:EDIT
You should not use sizes in pixels in you code, use dimensions for this:
dimens.xml:
In code:
实际上,您可以设置文本视图高度,例如:
Pragmatically you can set textview height like:
您可以通过以下方式动态设置textview的宽度和高度
you can dynamically set width and height of textview by
在 Kotlin 中,使用 DP 到像素转换
将 DP 转换为像素,请参阅这篇文章:
In Kotlin with DP to pixels translation
Convert DP to pixels, see this post:
如果您想
首先使用 dimen,则应在 dimen XML 文件中设置大小。
或者
如果
您只想设置 int (例如我们想设置 50dp 高度和 100dp 宽度)
the sample way for this if you want to use dimen
first, you should set size in dimen XML file.
and
Or
if you want to set just int (for example we wanna set 50dp height and 100dp width)
我知道这是一个老问题,但为了其他人可能会发现这个问题,在某些情况下您应该在更改布局参数后调用 textView.requestLayout() 。如果您只是在绘制布局之前一次性更改布局参数,则可以忽略它。就我而言,我想使用 onCheckedChangedListener 基于单选按钮选择更改 TextView 的高度参数,但 TextView 高度只会在第一次绘制时更新。添加 requestLayout() 解决了这个问题。
I know this is an old question, but for the sake of others who might find this, there are scenarios where you should call textView.requestLayout() after changing the layout parameters. While it my be fine to omit it if you are simply changing the layout parameters as a one time thing before the layout is drawn. In my case, I wanted to change the height parameter of a TextView based on a radio button selection using onCheckedChangedListener, but the TextView height would only update the first time it was drawn. Adding requestLayout() solved this problem.