如何在自定义视图中设置填充?

时间:2015-10-20 11:20:35

标签: android android-custom-view

在我的应用程序中,我有一个自定义TextView,在onDraw Canvas方法的左侧有一些箭头。我遇到的问题是文本的重力,因为我希望它居中。

我找到解决此问题的唯一方法是设置自定义左边距,以便文本仅在应该的区域中居中。为了找出这个填充,我需要先计算视图的大小。

问题在于,如果我将其放入onMeasureonLayout,那么我会陷入循环,因此填充会增加到最大值。这种情况正在发生,因为setPadding导致这些方法再次执行。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果视图是静态的,并且在充气时不更改其填充,则可以在setPadding中调用onAttachedToWindow()

仅在视图添加到窗口时调用!