是否可以使用字符串参数方法将图像插入文本视图



正如我们在https://stackoverflow.com/a/a/10144094/3286489中看到的那样,我们可以通过%1 $ d添加参数。但是我没有知道如何在那里添加图像。

我们可以在https://stackoverflow.com/a/3177667/3286489中使用Spannable添加图像。但是文本中图像的位置需要明确说明。

所以我的问题是,有没有一种方法可以将图像插入文本视图(我可以使用Spannable),使用参数化方法作为https://stackoverflow.com/a/10144094/3286489?

这是我以前做过的:

例如。您的字符串可能是:"这是[img]"。

找到" [img]"的位置,然后用ImageSpan

替换它

编辑:正则模式可能是

String message = "This is an [img]";
Pattern MY_PATTERN = Pattern.compile("\[img\]");
Matcher matcher = MY_PATTERN.matcher(message);
// Check all occurrences
while (matcher.find()) {
    System.out.print("Start index: " + matcher.start());
    System.out.print(" End index: " + matcher.end());
}
  1. string.xml

    <string name="var">Image %1$s and %2$s</string>
    
  2. mainActivity.java

    TextView textView = (TextView) findViewById(R.id.text);
    String v1 = "%1$s";
    String v2 = "%2$s";
    String test = getString(R.string.var, v1, v2);
    Spannable span = Spannable.Factory.getInstance().newSpannable(test);
    span.setSpan(new ImageSpan(getBaseContext(), android.R.drawable.star_on),
            test.indexOf(v1), test.indexOf(v1) + v1.length(),
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    span.setSpan(new ImageSpan(getBaseContext(), android.R.drawable.star_on),
            test.indexOf(v2), test.indexOf(v2) + v2.length(),
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    textView.setText(span);
    

相关内容

  • 没有找到相关文章

最新更新