1

我得到以下要求

  1. 我需要从屏幕顶部到底部构建一棵叶子左右放置的树。我不能将叶子放在 ListView 中,因为两片叶子的偏移量相同。

  2. 我不知道物品的高度。

  3. 我需要预先计算动态内容的高度,比如不同长度的字符串。

问题:

如何预先计算将放入 TextView 小部件中的刺的高度,如下所述:

   <TextView
    android:id="@+id/note_content"
    android:layout_width="40sp"
    android:layout_height="wrap_content"
    android:maxLines="5" />

在此处输入图像描述

4

2 回答 2

0

用它来计算你的文本视图的高度和宽度

    textView.getViewTreeObserver().addOnGlobalLayoutListener(
            new OnGlobalLayoutListener() {
                public void onGlobalLayout() {
                 h=textView.getHeight();
                 w=textView.getWidth();
        textView.getViewTreeObserver()
                            .removeGlobalOnLayoutListener(this);
    }

但是在 xml 中不要将 textview 分配为包装内容。因为它会给你价值0。

于 2013-07-19T12:25:09.923 回答
0

创建 textView,设置 LayoutParams,设置文本,调用它的 measure 方法并读取测量值。顺便说一句,您可以测量文本,而不是 textView(请参阅StaticLayout)。

我认为您最好创建自定义布局,您可以在其中实现所有“叶子测量”算法。看看这节课。自定义布局非常简单)

于 2013-07-19T12:37:47.980 回答