2

我在android中的文本有问题。

假设我制作字体大小为 100px 的 TextView,现在我正在输入文本:TÓjy 在设备屏幕上测量此文本,从字体的最高点到最低点的高度约为 115px。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" >

  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="100px"
    android:textSize="100px"
    android:text="TYyÓj" />

 </LinearLayout>

我想确定如果我设置 100px 字体大小,它将是 100px 高度,有没有办法做到这一点?

第一个高度为 100px,第二个在 wrap_content 上,第一个 y 被剪切。 第一个是 100px 高度,第二个是 wrap_content

4

2 回答 2

1

我想确定如果我设置 100px 字体大小,它将是 100px 高度,有没有办法做到这一点?

抱歉不行。

将 textSize 设置为100px并不能保证文本将占据 100 像素的高度。这是因为字体样式支持的字符之间的相对位置。大写Y字母的 (x, y) 位置与小写字母不同y。从您自己的示例中可以清楚地看到这一点。

设置layout_height="wrap_content" 最好的选择。

于 2013-09-09T08:02:58.327 回答
1

Try it with another 2 or 3 fonts: give them each an extra 15% vertical space and see if they all universally fit.

If they don't, then the answer to your question is no (as I suspect). A font has no contract that for a given point size it must actually fit in it; it's merely a suggestion that the font designer has the liberty to play with. Read the second paragraph here:

http://en.wikipedia.org/wiki/Point_(typography)

I don't see why the same idea wouldn't apply to pixels in digital typography as well, especially since pixels have no standard use as measuring devices in digital typesetting.

于 2013-09-09T07:58:00.327 回答