如何在Android中使动态创建的TextView的高度精确到50dp?

如何在Android中使动态创建的TextView的高度精确到50dp?,android,android-layout,textview,Android,Android Layout,Textview,我想将动态创建的TextView的高度设置为50dp。我试着用代码创建一个dimens.xml文件 <dimen name="imageview_height">50dp</dimen> 最后,在生成的TextView上,我简单地使用了它 textView.setHeight(pixels); 但是,当我运行它时,我的应用程序崩溃,并说应用程序名称一直停止。您可以使用以下设置: textView.setLayoutParams(new LayoutParams(wid

我想将动态创建的TextView的高度设置为50dp。我试着用代码创建一个
dimens.xml
文件

<dimen name="imageview_height">50dp</dimen>
最后,在生成的TextView上,我简单地使用了它

textView.setHeight(pixels);

但是,当我运行它时,我的应用程序崩溃,并说应用程序名称一直停止。

您可以使用以下设置:

textView.setLayoutParams(new LayoutParams(width, height));
但是,根据布局类型,有不同的布局参数。使用视图所在的布局。例如:如果您的视图位于线性布局中,请使用线性布局。布局参数


有关更多信息,请参阅本文:

您可以使用以下方法完成此操作

int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 5, getResources().getDisplayMetrics());
从dps计算->像素。。。。。。
然后将该像素设置为可编程使用…

当高度或宽度未以编程方式设置时,Android会引发异常

RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) someLayout.getLayoutParams();
params.height = 130;
someLayout.setLayoutParams(params);

因此,通过上面的代码,我们获得视图本身的布局参数,然后通过编程设置高度

发布崩溃日志plz。如果发布错误日志就好了。因为我还在学习,我可能错了,也可能错了。为了让其他人学会评论否决票的原因,说出理由是一种很好的姿态。我想你的答案被否决了,因为这无助于解决问题。OP知道如何计算dp,但遇到了一个异常。正确的方法是请求stacktrace并帮助跟踪异常。
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) someLayout.getLayoutParams();
params.height = 130;
someLayout.setLayoutParams(params);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) someLayout.getLayoutParams();
params.height = 130;
someLayout.setLayoutParams(params);