低版本安卓中對(duì)TextView加載html所支持的標(biāo)簽不夠多,比如在搭載了android 5.1的手機(jī)上我們的app調(diào)用了Html.froml為TextView設(shè)置文本時(shí),當(dāng)source包含span標(biāo)簽時(shí)不會(huì)處理,高版本則會(huì)去處理;
對(duì)比下高低版本的Html.java如下:
android api level 22
android api level 28
我們發(fā)現(xiàn),高版本是支持span標(biāo)簽的,那低版本怎么處理呢?我們看到方法handleStartTag
中在不支持的標(biāo)簽都會(huì)回調(diào)一個(gè)方法:
所以我們只需要傳入自定義的TagHandler就可以處理Html.java不支持的標(biāo)簽了。
一開始我們?yōu)門extView設(shè)置文本時(shí)這樣寫:
String text="創(chuàng)建<span style='color: #ff8500;'>7</span>天,累計(jì)消費(fèi)<span style='color: #ff8500;'>15</span>元";
textview.setText(Html.fromHtml(text));
高版本手機(jī)正常加載span標(biāo)簽,低版本的手機(jī)效果如下:
更改后這樣寫:
String text="創(chuàng)建<span style='color: #ff8500;'>7</span>天,累計(jì)消費(fèi)<span style='color: #ff8500;'>15</span>元";
textview.setText(Html.fromHtml(text,null,new CustomTagHandler()));
更改后在低版本效果如下:
CustomTagHandler的實(shí)現(xiàn)參考高版本的Html.java,完整代碼如下:
TML5從入門到精通,兄弟連京修隨堂筆記(二)HTML的框架結(jié)構(gòu),每日都有新內(nèi)容,訂閱走一波
HTML5的form標(biāo)簽
問(wèn):網(wǎng)站怎樣與用戶進(jìn)行交互? 答案:使用HTML表單(form).
表單是可以把瀏覽者輸入的數(shù)據(jù)傳送到服務(wù)器端的程序(比如ASP,PHP)的HTML元素,服務(wù)器端程序可以處理表單傳過(guò)來(lái)的數(shù)據(jù),從而進(jìn)行一些動(dòng)作.比如,bbs,blog的登陸系統(tǒng),購(gòu)物車系統(tǒng)等.
form 標(biāo)簽 -- 代表HTML表單
form標(biāo)簽是成對(duì)出現(xiàn)的,以<form>開始,以</form>結(jié)束
常用屬性.
action -- 瀏覽者輸入的數(shù)據(jù)被傳送到的地方,如一個(gè)PHP頁(yè)面(dofm.php)
method -- 數(shù)據(jù)傳送的方法
get -- 此方式傳遞數(shù)據(jù)量少,但是傳遞的信息顯示在網(wǎng)址上。
post --此方式傳送信息多,而且不會(huì)把傳遞信息顯示在網(wǎng)址上
enctype -- 表示將數(shù)據(jù)發(fā)送到服務(wù)器時(shí)瀏覽器使用的編碼類型
application/x-www-form-urlencoded -- 窗體數(shù)據(jù)被編碼為名稱/值對(duì).這是標(biāo)準(zhǔn)的編碼格式.默認(rèn)的。
multipart/form-data -- 窗體數(shù)據(jù)被編碼為一條消息,頁(yè)上的每個(gè)控件對(duì)應(yīng)消息中的一個(gè)部分.
text/plain -- 以純文本形式進(jìn)行編碼,其中不含任何控件或格式字符
HTML5 input標(biāo)簽
input 標(biāo)簽 -- 代表HTML表單的單行輸入域
input標(biāo)簽是單獨(dú)出現(xiàn)的,<input />
屬性.
type -- 代表一個(gè)輸入域的顯示方式(分為輸入型,選擇型,點(diǎn)擊型)
name – 此表單項(xiàng)名稱
value -- 輸入域的值
size -- 輸入域的長(zhǎng)度
maxlength -- 輸入域最多可以輸入文字的長(zhǎng)度
checked -- 如果是選擇型的輸入域,代表已經(jīng)被選擇,值為checked
readonly -- 輸入域可以選擇,但是無(wú)法修改 ,值為readonly
disabled -- 輸入域無(wú)法獲得焦點(diǎn),無(wú)法選擇,以灰色顯示,在表單中不起任何作用。如:disabled="disabled"
accesskey -- 表單的快捷鍵訪問(wèn)方式,如值為h即按Alt+h快捷鍵。
tabindex -- 輸入域的"tab"鍵遍歷順序
src -- 當(dāng)使用圖片來(lái)表示按鈕時(shí),代表圖片的位置(URI)
alt -- 用來(lái)替換提交按鈕的圖片(當(dāng)在input的src屬性定義的圖片無(wú)法顯示時(shí))提示信息。
type屬性 -- 代表HTML表單,單行輸入域(框)的表現(xiàn)方式
type屬性取值:
text -- 文字輸入域(輸入型)
password -- 也是文字輸入域,但是輸入的文字以密碼符號(hào)'*'顯示(輸入型)
file -- 可以輸入一個(gè)文件路徑(輸入型)
checkbox -- 復(fù)選框.可以選擇零個(gè)或多個(gè)(選擇型)
radio -- 單選框.只可以選擇一個(gè)而且必須選擇一個(gè)(選擇型)
hidden -- 代表隱藏域,可以傳送一些隱藏的信息到服務(wù)器
button -- 按鈕(點(diǎn)擊型)
image -- 使用圖片來(lái)顯示按鈕,使用src屬性指定圖像的位置(就像img標(biāo)簽的src屬性)(點(diǎn)擊型)
submit -- 提交按鈕,表單填寫完畢可以提交,把信息傳送到服務(wù)器.可以使用value屬性來(lái)顯示按鈕上的文字(點(diǎn)擊型)
reset -- 重置按鈕,可以把表單中的信息清空(點(diǎn)擊型)
select 標(biāo)簽 -- 選擇列表標(biāo)簽
select標(biāo)簽是成對(duì)出現(xiàn)的,以<select>開始,以</select>結(jié)束
此標(biāo)簽中的每對(duì)option標(biāo)簽代表一個(gè)選擇項(xiàng)
屬性:
name – 表單項(xiàng)名稱
size -- 選擇域的高度
multiple -- 可以有多個(gè)選擇
disabled -- 以灰色顯示,在表單中不起任何作用
tabindex -- 使用"tab"鍵的遍歷順序
<head> <script src="jquery-1.10.2.min.js"></script> </head>
<button type="button" onclick="formReset()">清空</button>
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。