整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          詳解HtmlTextView使用,在android上顯示web端html內容

          天和大家交流一下HtmlTextView的使用,HtmlTextView是一個開源的原生安卓第三方控件,主要的用途是直接把web端的html內容解析后展示在安卓手機上。應用場景很多,比如很多新聞類APP在web端編輯入庫后是html的格式,這時候如果想顯示在手機上,HtmlTextView就是一個很好的選擇,當然有人會說谷歌自己的TextView通過一些方法也可以實現,但是我試過,效果簡直不能再差,而且使用起來很復雜。這個HtmlTextView有多好,話不多說,直接上圖:

          在使用的時候,第一步是引入控件的依賴:

          repositories {
          jcenter()
          }
          
          dependencies {
          compile 'org.sufficientlysecure:html-textview:4.0'
          }

          引入依賴后有幾種不同的使用方式,根據自己實際的場景進行選擇:

          大部分的html標簽都已經支持:

          <p>
          <div> handled exactly like <p>
          <br>
          <b>
          <i>
          <strong> (bug on some Android versions: generates italic)
          <em> (bug on some Android versions: generates bold)
          <u>
          <tt>
          <dfn>
          <sub>
          <sup>
          <blockquote>
          <cite>
          <big>
          <small>
          <font color="..." face="...">
          <h1>, <h2>, <h3>, <h4>, <h5>, <h6>
          <a href="...">
          <img src="...">

          最后,一個最重要的問題,也是我最近使用遇到的最大的問題:

          當html里面有src或者href等的時候,如果不做處理,APP會出現無法跳轉至瀏覽器并且崩潰閃退的情況。解決這個問題的辦法就是在方法里添加對應的點擊事件,如下:

          實現新聞詳情的時候,安卓也有類似富文本的控件,但是使用webview或者textview等方法,每種方法各有優劣,不是很完美。今天給大家介紹一個安卓控件——HtmlTextView,實現詳情頁圖文混排的顯示。
          1.在gradle引入控件

          dependencies {
              compile 'org.sufficientlysecure:html-textview:4.0'
          }
          123

          2.在布局頁面使用上面的控件

          <org.sufficientlysecure.htmltextview.HtmlTextView
                      android:id="@+id/html_text"
                      android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:textAppearance="@android:style/TextAppearance.Small" />
          12345

          3.在activity使用相關方法,此處是其他頁面網絡獲取解析傳遞過來的html內容,HtmlHttpImageGetter方法不需要手動編寫(較textview實現的時候不再需要重寫、繼承ImageGetter方法,可查看上篇博客)

          public class ContentActivity extends BaseActivity {
              private String htmlContents = null;
          
              @Override
              protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                  setContentView(R.layout.activity_content);
                  HtmlTextView htmlTextView = findViewById(R.id.html_text);
                  final Intent intent = getIntent();
                  Bundle bundle = intent.getExtras();
                  htmlContents = bundle.getCharSequence("contents").toString();
                  htmlTextView.setHtml(htmlContents, new HtmlHttpImageGetter(htmlTextView));
          
              }
          }
          123456789101112131415

          4.讓我們看一下最終實現的效果


          有相關疑問可以留言,感謝點贊轉發,禁止轉載


          上圖是視圖的開發指導,官方給了個鏈接。

          國內地址:

          https://developer.android.google.cn/guide/topics/ui/index.html

          view的使用

          "直譯"

          窗口中的所有視圖都排列在一棵樹中.

          可以通過代碼或通過在一個或多個XML布局中指定視圖樹來添加視圖.

          有許多專門的視圖子類可以充當控件,或者可以顯示文本,圖像或其他內容。
          

          創建視圖樹后,通常可能需要執行幾種類型的常見操作.



          "人話"

          窗口也就是windows,windows上有視圖"樹",我們在畫頁面時其實就是往視圖樹上添加view,當然,添加的方式即可以是xml也可以是代碼的形式。下面那兩句話,舉個例子就是TextView的常見類型操作setText();


          總結

          我們對整個view學習要建立一個體系,有一個脈絡。(自己腦海中有一個大體的脈絡,再去補充一個一個知識點)

          view的基本概念->view如何使用->如何自定義view

          之后我會分享我的"脈絡",希望大家多多支持.


          后續:

          第一期:view的簡單介紹。

          第二期:view添加到頁面的方式。

          下一期:view的屬性和方法。


          主站蜘蛛池模板: 国产亚洲综合精品一区二区三区 | 精品国产伦一区二区三区在线观看 | 亚洲AV无码一区二区三区牲色| 久久综合九九亚洲一区| 视频一区二区在线播放| 春暖花开亚洲性无区一区二区 | 亚洲AV综合色一区二区三区 | 无码8090精品久久一区| 亚洲乱码一区二区三区国产精品| 精品一区二区三区| 国产无线乱码一区二三区| 精品国产一区二区二三区在线观看| 国产另类ts人妖一区二区三区| 成人中文字幕一区二区三区| 中文字幕色AV一区二区三区| 一区二区三区四区在线观看视频| 免费日本一区二区| 成人精品一区二区三区中文字幕| 日韩精品一区二区三区中文版| av在线亚洲欧洲日产一区二区| 一区二区三区在线播放| 国产日韩一区二区三区在线观看| 亚洲欧洲日韩国产一区二区三区| 无码人妻精品一区二区三区久久 | 国产精品熟女视频一区二区| 三上悠亚精品一区二区久久| 亚洲日韩AV无码一区二区三区人| 精品一区精品二区| 亚洲一区二区无码偷拍| 在线视频一区二区三区三区不卡| 亚洲一区二区三区首页| 一区二区三区无码被窝影院| 亚洲国产一区二区三区| 日本一区二区三区不卡视频| 久久91精品国产一区二区| 亚洲国产精品一区二区第一页免 | 内射女校花一区二区三区| 国产精品亚洲产品一区二区三区 | 亚洲日韩精品国产一区二区三区| 欧洲精品无码一区二区三区在线播放 | 丰满人妻一区二区三区免费视频|