android 显示字符串最后一个字,android – 在textview中显示的最后一个单词
我現(xiàn)在不能嘗試這個(gè)想法,但讓我們?cè)囈辉?#xff01;根據(jù)
this post,您可以使用以下方法來確定字符串是否適合textview.
private boolean isTooLarge (TextView text, String newText) {
float textWidth = text.getPaint().measureText(newText);
return (textWidth >= text.getMeasuredWidth ());
}
因此,如果文本始終相同,您可以手動(dòng)定義每個(gè)文本視圖的初始值,然后在增加或減少重新計(jì)算的字體時(shí),刪除或添加單詞.
如果不能手動(dòng)輸入初始值,您可以執(zhí)行以下操作:
String wordsInTextview = new String();
int lastUsedWord= 0;
int totalNumberOfWords = text.size();
for (int i=lastUsedWord;i
if !(isTooLarge(TextView,wordsInTextview)) {
wordsInTextview = wordsInTextview + text(i); // add the words to be shown
} else {
TextView.setText(wordsInTextView);
lastUsedWord= i;
wordsInTextView = new String(); // no idea if this will erase the textView but shouldn't be hard to fix
}
}
您還需要存儲(chǔ)textView的第一個(gè)單詞的位置,因此當(dāng)您調(diào)整文本大小時(shí),您知道從哪里開始!
int firstWordOnTextView = TextView.getText().toString().split(" ")[0]
當(dāng)它調(diào)整大小時(shí),您可以使用相同的方法來計(jì)算屏幕上的文本.
lastUsedWord = firstWordOnTextView;
如果你想要更快,你可以跟蹤你在每個(gè)頁(yè)面上有多少單詞,做一個(gè)平均值,并在幾次運(yùn)行后總是從那里統(tǒng)計(jì)你的循環(huán).或者之前的幾句話,以避免不得不迭代.
如果您不必一次顯示太多頁(yè)面,我相信這是一個(gè)合理的解決方案!
對(duì)不起代碼中的錯(cuò)誤我沒有在哪里嘗試它!有關(guān)此解決方案的任何評(píng)論非常有趣的問題!
總結(jié)
以上是生活随笔為你收集整理的android 显示字符串最后一个字,android – 在textview中显示的最后一个单词的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌Android无障碍套件,谷歌为无障
- 下一篇: 鸿蒙os2.0游戏体验,华为运行鸿蒙OS