在我的应用程序中,我有一个自定义TextView
,在onDraw
Canvas
方法的左侧有一些箭头。我遇到的问题是文本的重力,因为我希望它居中。
我找到解决此问题的唯一方法是设置自定义左边距,以便文本仅在应该的区域中居中。为了找出这个填充,我需要先计算视图的大小。
问题在于,如果我将其放入onMeasure
或onLayout
,那么我会陷入循环,因此填充会增加到最大值。这种情况正在发生,因为setPadding
导致这些方法再次执行。
如何解决这个问题?
答案 0 :(得分:0)
如果视图是静态的,并且在充气时不更改其填充,则可以在setPadding
中调用onAttachedToWindow()
。
仅在视图添加到窗口时调用!