使用layout_width =“wrap_content”获取TextView的可用宽度

时间:2017-08-24 10:11:25

标签: java android textview width

我有一个复杂的布局,其TextView带有layout_width="wrap_content"。我希望获得此TextView可以填充的最大宽度。

有通用的方法吗?或者我应该检查所有父母并计算他们的边距,填充等? Android是如何做到的?

1 个答案:

答案 0 :(得分:0)

你可以得到它的父母并像这样计算它的宽度。如果父级没有填充,则此宽度将是TextView可以采用的最大宽度。

View parent = (View) textView.getParent();
int width = parent.getWidth();

如果父级有一些填充,则需要单独计算并从该宽度中减去。

int paddingE = parent.getPaddingEnd();
int paddingS = parent.getPaddingStart();
int totalWidth = width - (paddingE + paddingS);