IT技術(shu)互動交流(liu)平台

欢乐谷棋牌官网

來源︰IT165收集(ji)  發布(bu)日(ri)期︰2020-02-27 15:36:00

以下(xia)介紹(shao)SpannableString 對文字的一些特(te)別處理︰比如(ru)字體,顏色(se),下(xia)劃線,鏈接和點(dian)擊(ji)事件。
先看(kan)效果︰

這里寫(xie)圖(tu)片(pian)描述

布(bu)局代碼就(jiu)不(bu)貼了,很簡單就(jiu)是3個TextView.現在看(kan)MainActivity中的代碼實現︰

 private TextView mTvContent1; private TextView mTvContent2; private TextView mTvContent3; private String contentStr1 = '點(dian)擊(ji)事件,下(xia)劃線,字體顏色(se)'; private String contentStr2 = '百(bai)度鏈接'; private String contentStr3 = '粗體'; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //設置點(dian)擊(ji)事件,下(xia)劃線,字體顏色(se) mTvContent1 = (TextView) findViewById(R.id.tv_content1); SpannableString ss1 = new SpannableString(contentStr1); ss1.setSpan(new ClickableSpan() {  @Override  public void updateDrawState(TextPaint ds) {  super.updateDrawState(ds);  ds.setUnderlineText(true);//設置下(xia)劃線  ds.setColor(Color.RED);//設置字體顏色(se)  }  @Override  public void onClick(View widget) {  Toast toast = Toast.makeText(MainActivity.this, '點(dian)擊(ji)', Toast.LENGTH_SHORT);  toast.show();  } }, 0, contentStr1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); mTvContent1.setText(ss1); mTvContent1.setHighlightColor(Color.TRANSPARENT); mTvContent1.setMovementMethod(LinkMovementMethod.getInstance()); //設置鏈接 mTvContent2= (TextView) findViewById(R.id.tv_content2); SpannableString ss2 = new SpannableString(contentStr2); ss2.setSpan(new URLSpan('http://www.baidu.com'), 0, contentStr2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); mTvContent2.setText(ss2); mTvContent2.setMovementMethod(LinkMovementMethod.getInstance()); //設置me)痔澹mTvContent3= (TextView) findViewById(R.id.tv_content3); SpannableString ss3 = new SpannableString(contentStr3); ss3.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, contentStr3.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); mTvContent3.setText(ss3); }}

以上就(jiu)是整個代碼︰其中對于點(dian)擊(ji)和鏈接事件,要特(te)別注意需要setMovementMethod,否(fu)則可能不(bu)會響應事件。

欢乐谷棋牌官网

    • 欢乐谷棋牌官网

    About IT165 - 廣告服務 - 隱私聲明 - 版權(quan)申(shen)明 - 免責條款 - 網(wang)站地圖(tu) - 網(wang)友投稿 - 聯系方式
    本站內容(rong)來自(zi)于互聯網(wang),僅供(gong)用于網(wang)絡技術(shu)學習,學習中請遵(zun)循相關法律法規
    欢乐谷棋牌官网 | 下一页