我遵循要求。
我需要从屏幕顶部到底部构建一个左右放置树叶的树。我不能把叶子放在ListView中,因为两个叶子将在相同的偏移量中。
我不知道物品的高度。
我需要预先计算动态内容的高度,例如不同长度的字符串。
问题:
我如何预先计算将放入TextView小部件中的sting的高度,如下所示:
<TextView
android:id="@+id/note_content"
android:layout_width="40sp"
android:layout_height="wrap_content"
android:maxLines="5" />
答案 0 :(得分:0)
用它来计算textview的高度和宽度
textView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
public void onGlobalLayout() {
h=textView.getHeight();
w=textView.getWidth();
textView.getViewTreeObserver()
.removeGlobalOnLayoutListener(this);
}
但是在xml中不要将textview指定为包装内容。因为它会给你价值0。
答案 1 :(得分:0)
创建textView,设置LayoutParams,设置文本,调用它的测量方法并读取测量值。顺便说一句,你可以测量文本,而不是textView(见StaticLayout)。
我认为您最好创建自定义布局,以便实现所有“离开测量”算法。 Check this lesson.自定义布局非常简单)