当前位置: 代码迷 >> Android >> TextView实际高度与wrap_content单行
  详细解决方案

TextView实际高度与wrap_content单行

热度:53   发布时间:2023-08-04 11:26:45.0

在我的工作中,我们的UI总是在sp(或px)中标记textView(aTextView)的字体大小;在我们的例子中,另一个视图(如bView)在aTextView下面,aTextView的实际高度将影响bView的位置;这将改变整体布局差别不大。

我想知道textSize中textview的真实高度,当我们使用wrap_content设置TextView的layout_height时。我们可以用1px = 1sp的简单方式讨论这个问题。

使用此方法,您可以识别textview高度

public static int getHeight(Context context, String text, int textSize, int deviceWidth) {
   TextView textView = new TextView(context);
   textView.setText(text);
   textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
   int widthMeasureSpec = MeasureSpec.makeMeasureSpec(deviceWidth, MeasureSpec.AT_MOST);
   int heightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
   textView.measure(widthMeasureSpec, heightMeasureSpec);
   return textView.getMeasuredHeight();
}

如果textSize没有以像素给出,请更改setTextSize()的第一个参数。

从复制

根据我的经验,文本大小为16sp / 16dpTextView将具有16dp的高度,即顶部和底部的16dp + 1dp填充。

请注意,这只是一个估计。 实际高度可能会或可能不会取决于许多其他因素,如字体和字体大小等。要检查,您可以在布局中放置旁边的方形视图或按代码检查。

如果我碰巧找到有关TextViews大小的官方信息,我会在这里发布。

使用约束布局可以解决您的问题。试一试。

TextView B垂直约束到ImageView,您可以反之亦然。 约束项将根据约束项自动调整大小。

  相关解决方案