Miałem dość podkreślenia określonego słowa w tekście za pomocą kropkowanej lub przerywanej linii z, a także z możliwością kliknięcia.Niestandardowy tekst podkreślenia zakresu z kropkowaną linią Androida
Nie znalazłem rozwiązania, czy ktoś może mi pomóc, proszę.
SpannableStringBuilder sb = new SpannableStringBuilder (tekst); Lista listmot = new ArrayList();
listmot=db.getAlldef();
for(int i=0;i<listmot.size();i++)
{
String mot = (listmot.get(i)).get_mot();
final String def = (listmot.get(i)).get_definition();
Log.v(null, mot);
Pattern p = Pattern.compile(mot, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(text);
while (m.find()){
// Typeface tf = Typeface.createFromAsset(getApplicationContext().getAssets(),"fonts/font.ttf");
//sb.setSpan(new CustomTypefaceSpan("",tf), m.start(), m.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
// Toast.makeText(getApplicationContext(), def,Toast.LENGTH_LONG).show();
int[] values = new int[2];
widget.getLocationOnScreen(values);
Log.d("X & Y",values[0]+" "+values[1]);
AlertDialog.Builder alertDialog = new AlertDialog.Builder(
AndroidSQLiteTutorialActivity.this);
alertDialog.setMessage(def);
alertDialog.setCancelable(true);
AlertDialog alert11 = alertDialog.create();
alert11.setCanceledOnTouchOutside(true);
alert11.show();
}
}, m.start(), m.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
textjson.setText(sb);
textjson.setMovementMethod(LinkMovementMethod.getInstance());
czy znalazłeś już rozwiązanie? – JU5T1C3