如果一個TextView
在其父元素中沒有足夠的空間,我將顯示一個圖標。該文本或圖標上的選項卡將用於使用完整字符串調用警報對話框。所以我需要知道一個TextView
是否被trinmmed。如何檢查TextView字符串是否已被修剪(字幕)?
3
A
回答
5
分離TextView的寬度並計算將在textview中顯示的文本的寬度。如果文本的寬度大於textView的寬度,這意味着您必須調用對話框,因爲文本會被追查。否則,文本完全適合TextView,沒有任何問題,所以不需要對話框。
使用下面的代碼。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
// System.out.println("...111Height..."+mainLayout.getMeasuredHeight());
isMarqueed("I am fine here. How r u", textView.getWidth(), textView);
isMarqueed("I am fine", textView.getWidth(), textView);
}
private boolean isMarqueed(String text, int textWidth, TextView tv) {
Paint testPaint = new Paint();
testPaint.set(tv.getPaint());
boolean isMarquee = true;
if (textWidth > 0) {
int availableWidth = (int) (textWidth - tv.getPaddingLeft() - tv.getPaddingRight()-testPaint.measureText(text));
System.out.println("...available width..."+availableWidth);
// tv.setText(text);
isMarquee = false;
}
return isMarquee;
}
感謝 迪帕克
0
嘗試使用Paint.getFontMetrics來確定文本需要多少空間,然後計算它是否適合TextView。
相關問題
- 1. Javascript:檢測一個字符串是否被修剪
- 2. 如何檢查TextView是否包含數組中的字符串?
- 3. 如何檢查一個TextView是否包含某個字符串
- 4. 修剪字符串
- 5. 如何檢查字符串是否在字符串列表中
- 6. 修整字符串加檢查,如果字符串不是空
- 7. 檢查文件是否已被修改
- 8. 檢查字符串是否包含字(不是子字符串!)
- 9. 如何在AppleScript中修剪字符串?
- 10. 如何修剪此JavaScript字符串?
- 11. 如何修剪以下字符串?
- 12. 如何從空間修剪字符串
- 13. 如何修剪ClientValidationFunction中的字符串
- 14. 如何檢查字符串是否包含C#中的字符?
- 15. 如何檢查某些字符是否在字符串中?
- 16. 如何檢查字符串是否包含某個字符?
- 17. 如何檢查特定字符前是否有字符串
- 18. 如何檢查是否字符串包含數字符號
- 19. 修剪字符和修剪字符串 - Python
- 20. 從字符串修剪字符
- 21. 如何檢查.NET中的字符串是否是數字?
- 22. 如何檢查一個字符串是否是純字母?
- 23. 修剪字符串與Dapper.NET
- 24. Swift修剪字符串
- 25. 檢查字符串是否是Spotify URL
- 26. 檢查字符串是否是實數
- 27. C - 檢查字符串是否是另一個字符串的子字符串
- 28. 如何檢查一個字段是否已被聲明?
- 29. url字符串被剪輯
- 30. 如何檢查兩個字符串是否是「兄弟字符串」?
感謝@DKIT Android和@Deepak的快速回復,您的解決方案聽起來不錯。 – Webworx23 2011-06-01 06:51:51
如果你喜歡它,你可以接受並投票我的答案 – 2011-06-01 06:55:30
這是被接受的答案嗎?如果您傳遞適當的寬度,條件'textWidth> 0'將始終爲真。你是不是應該檢查'availableWidth'變量來設置'isMarquee'變量爲true還是false? @SunilKumarSahoo – 2015-09-02 09:52:50