获取可用宽度的TextView与layout_width =“WRAP_CONTENT”
问题描述:
我有一个复杂的布局,拥有的TextView与layout_width="wrap_content"
。我想获得这个TextView可以填充的最大宽度。获取可用宽度的TextView与layout_width =“WRAP_CONTENT”
有没有一种通用的方法来做到这一点?或者我应该检查所有父母并计算他们的利润率,垫子等? Android如何做到这一点?
答
你可以得到它的父母并计算出它的宽度。这个宽度将是TextView
可以提供的最大宽度,前提是父项没有填充。
View parent = (View) textView.getParent();
int width = parent.getWidth();
如果父母有一些填充,你需要分别计算它并从这个宽度中减去。
int paddingE = parent.getPaddingEnd();
int paddingS = parent.getPaddingStart();
int totalWidth = width - (paddingE + paddingS);
XY问题?为什么你需要最大可能的宽度?如何android:maxWidth? –
我需要最大可能的宽度来手动计算文本是否符合一行,并根据此更改此文本。我不使用maxWidth。 – Dem0n13
它可能更好地计算文本大小运行和调整,直到它符合 –