在我的应用程序中,我有一个自定义的TextView,在onDraw方法中使用Canvas在左侧具有一些箭头。我遇到的问题是文本的重力,因为我希望它居中。
我发现解决这个问题的唯一方法是设置自定义左填充,以便文本仅在应该的区域居中。为了找出这个填充,我需要先计算视图的大小。
问题是,如果我将其放入onMeasure或onLayout中,那么我会陷入循环中,使填充增加到最大值。这是因为setPadding导致这些方法再次执行。
如何解决这个问题?
我发现解决这个问题的唯一方法是设置自定义左填充,以便文本仅在应该的区域居中。为了找出这个填充,我需要先计算视图的大小。
问题是,如果我将其放入onMeasure或onLayout中,那么我会陷入循环中,使填充增加到最大值。这是因为setPadding导致这些方法再次执行。
如何解决这个问题?
setPadding
可以正常工作,但如果我将它放在onMeasure
方法中,那么该方法会被再次调用,因此填充会递归增加... - Kandyzowana Papaja