我试图调整我的textview大小以适应1行。
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上使用runOnUiThread执行的,在onCreateView方法返回视图之后有效。
答案 0 :(得分:3)
试试这个
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
}
});
}