我正试图调整我的文本视图以适应一行。
while (titleText.getLineCount() > 1) {
float scaledDensity = ManagerStorage.mainActivity.getResources().getDisplayMetrics().scaledDensity;
titleText.setTextSize(titleText.getTextSize() / scaledDensity - 0.5f);
Log.i("lines", "" + titleText.getLineCount());
}
然而,while循环只执行一次。在settextSize方法之后,getLineCount将始终返回0。while循环在runnable上使用runnuithread执行,runnable在oncreateview方法返回视图后工作。
最佳答案
试试这个
while (titleText.getLineCount() > 1) {
float scaledDensity = ManagerStorage.mainActivity.getResources().getDisplayMetrics().scaledDensity;
titleText.setTextSize(titleText.getTextSize() / scaledDensity - 0.5f);
titleText.post(new Runnable() {
@Override
public void run() {
int lineCount = titleText.getLineCount();
Log.i("lines", "" + titleText.getLineCount());
// Use lineCount here
}
});
}