您的自定義視圖類應該有一個構造函數,它需要三個String
參數,一個用於圖像的路徑,一個用於在圖像之前顯示文本,一個用於之後顯示的文本。
class YourView {
public YourView(String imgPath, String beforeImg, String afterImg){
//add TextView for text before image
//add ImageView for image
//add TextView for text after image
}
}
如果你的形象將永遠在{[ ]}
包圍,正則表達式(.+)\\{\\[(.+)\\]\\}(.+)
將捕獲在第1組捕捉{[
和}]
(即圖像路徑)之間的組0,一切{[
之前的一切,一切後, }]
組2
如果您使用Java Matcher
然後,您可以實現像你期望的結果:
String pre, path, post;
while (matcher.find()){
pre = matcher.group(0);
path = matcher.group(1);
post = matcher.group(2);
YourView view = new YourView(path, pre, post);
//add view
}
請注意,如果圖像位於文本的末尾或開頭,則只需傳遞空字符串作爲第三個/第一個參數,這將導致創建空的TextView,這應該是無害的(或者您可以做一個檢查,而不是爲空字符串創建一個)。
這就是說,還要注意上面的代碼沒有經過測試(但應該給你一般的想法),並且我是一個在Android上很少經驗的Java程序員 - 所以讓我知道是否有一個Android特定的原因將無法工作
它會一直是[文本] [圖像] [文本]在一個圖像和兩個文本塊,或將有多個圖像嵌入文本? – ChrisStillwell 2014-10-16 21:08:29
以上都不是。我將使用將擴展View的自定義類,並且不會規定如何安排它們。 – 2014-10-16 21:09:56
圖像路徑是否總是被包含在一個'{[]}'內,並且它會一直是'.jpg'? – drewmoore 2014-10-16 21:15:58