通话TextView.setTextSize()工作异常.在调用之后,setTextSize如果我们得到一个getTextSize更高的值,那就是我们之前设置它的值.
这是我们正在做的事情:
zoomControl.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View view) {
float size = mViewShabad.getTextSize() + 1;
textView.setTextSize(size);
}
});
Run Code Online (Sandbox Code Playgroud)
谁看过这个吗?
这是TextView的扩展.getTextSize()并setTextSize()没有被覆盖,我没有扩展这些方法.编程1.6,API级别4.
此代码中的循环导致每次迭代时大小乘以1.5,例如,如果大小最初从200读取getTextSize,则setTextSize(size)调用,getTextSize再次调用则读回300.
public void shrinkTest() {
float size = this.getTextSize();
while (size > 8) {
this.setTextSize(size);
size = this.getTextSize();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
我从服务器获取可变大小的数据并设置为textView,我希望textview根据文本集的长度调整大小.
它在材料设计指南中给出.怎么去编码呢?

链接指南 - https://material.google.com/style/typography.html#typography-other-typographic-guidelines