日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android 显示字符串最后一个字,android – 在textview中显示的最后一个单词

發(fā)布時(shí)間:2024/1/23 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 显示字符串最后一个字,android – 在textview中显示的最后一个单词 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我現(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。