我创建了一组包含子视图的自定义视图。该子视图可能会根据可用空间显示其部分或全部子视图。应隐藏不适合的辅助元素。其中一个子视图是多行TextView
,可能适合也可能不适合。
为此,我需要计算TextView
的高度。它理解应该在视图完全膨胀时完成,因此我在OnGlobalLayoutListener
中设置文本,然后尝试获取测量值。
这很好用,例如对于ImageView
,TextView
的高度似乎是相同的,无论它显示多少行文字。因此,textView.getHeight()
和textView.getMeasuredHeight()
都不会获得多行TextView
的实际高度。我怎么能得到它?
答案 0 :(得分:1)
如果我理解正确,您可以在$client = DB::connection('dpnmwin')->
table('nmtrabajador')->
select(\DB::raw('SUBSTRING(COD_UND, 1, 4) as COD_UND'))->
where('CONDICION', '=', 'A')->
get()
回调中的setText
上致电TextView
吗?
那时,身高还没有计算出来。
你应该:
1)在回调之前立即设置文本。然后在回调中获得高度。
2)在OnGlobalLayoutListener
回调中调用TextView上的post(Runnable)
。在runnable中,您可以获得TextView高度。