我试图在下面做类似Instagram的事情 -
现在我陷入了另一个问题 - 当我打字时,文本不会自动进入下一行,我必须按返回,就像通常editText工作在固定宽度.(总之multiline不能正常工作ReplacementSpan)
以下是我所做的示例代码 -
public class EditextActivity extends AppCompatActivity {
EditText edittext;
RoundedBackgroundSpan roundedBackgroundSpan;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.editext_screen);
edittext=(EditText)findViewById(R.id.edittext);
// edittext.setText("Hello My name is Karandeep Atwal.\n\n Hii this is test");
roundedBackgroundSpan= new RoundedBackgroundSpan(Color.RED,Color.WHITE);
edittext.getText().setSpan(roundedBackgroundSpan, 0, edittext.getText().length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
}
public class RoundedBackgroundSpan extends ReplacementSpan implements LineHeightSpan {
private static final int CORNER_RADIUS = 15;
private static final int PADDING_X = 10;
private int mBackgroundColor;
private int mTextColor; …Run Code Online (Sandbox Code Playgroud) 目前我有一个 SpannableString 对象,其中设置了多个 Clickable 对象。因此,一个字符串有许多 Clickable 对象,并且根据用户单击的单词/部分,应用程序将继续处理该单击事件。前几天我在 stackoverflow 上问过关于去掉 SpannableString 中部分单词上的蓝色下划线的问题,答案是将 ClickableSpan 类子类化,并覆盖 updateDrawState 方法并将 underlineText 设置为 false 。
我的问题:是否可以在 SpannableString 中的 Clickable 对象周围放置边框?所以基本上每个 Clickable 对象/字符串都必须有自己的边框。
我想也许 updateDrawState 方法可能会有所帮助,但它没有。有谁知道这是如何实现的?
谢谢。