之所以寫這篇文章是因為今天修改launcher裡面介面字型的時候,遇到些問題,而launcher的圖示都是textview做的,因此查詢了一些textview的特殊屬性。
1、文字陰影
//edited by mythou
//android:shadowcolor="#000000"
android:shadowdx="15.0"
android:shadowdy="5.0"
android:shadowradius="2.5"
複製**
shadowcolor設定陰影顏色;shadowdx設定陰影水平偏移量;shadowdy設定陰影垂直偏移量;shadowradius設定陰影半徑。這裡需要說明一點是,如果需要陰影和原字型重疊,需要設定shadowdx和shadowdy為-1,並且把shadowradius設定大一點。我們可以直接把上面屬性嵌入到textview標籤,也可以使用
複製**
上面是我定義的乙個用於launcher介面按鈕文字大小的style標籤,在使用的時候,可以直接引用這個style即可。
//edited by mythou
//style="@style/launcherworkspace"
android:id="@+id/player"
android:layout_width="160dp"
android:layout_height="160dp"
android:background="@drawable/player"
/>
複製**
2、自定義字型
textview可以使用settypeface(typeface)方法來設定文字框內文字的字型,typeface使用ttf字型檔案來設定字型。因此我們只要找到合適的tft字型檔案,然後放到程式裡面即可。tft字型在我們window系統裡面就有很多,例如微軟雅黑。
在程式中使用typeface來設定字型:
第一步,在assets目錄下新建fonts目錄,把ttf字型檔案放到這裡。
第二步,程式中使用下面**設定自定義字型:
//edited by mythou
//textview tv = (textview)findviewbyid(r.id.textview);
//得到assetmanager
assetmanagermgr=getassets();
//根據路徑得到typeface
typefacetf=typeface.createfromasset(mgr, "fonts/yahei.ttf");
//設定字型
tv.settypeface(tf);
複製**
3、textview使用html格式文字
textview裡面支援識別html格式,因此,我們可以利用html**標籤定義多元化的textview顯示。
/edited by mythou
//string textstr1 = "html顏色標籤測試
";tv.settext(html.fromhtml(textstr1));
複製**
4、字型加粗
在xml布局檔案中設定字型加粗:
android:textstyle=」bold」
複製**
這個屬性可以將英文設定成粗體,但是不能將中文設定成粗體,將中文設定成粗體的方法是:使用textpaint的仿「粗體」設定setfakeboldtext為true。
tv.getpaint().setfakeboldtext(true);
複製**
5、插入
插入有兩種方法,第一種方法使用html嵌入,不過需要一些轉換工作。使用imagegetter類來對的src屬性進行轉換。
//edited by mythou
//string imgstr = "
html.imagegetter imagegetter = new html.imagegetter()
};//設定
複製**
第二種方法是使用xml布局檔案的android:drawable***屬性來實現插入。
drawablebottom是在文字框內文字的底端繪製指定影象
drawableleft是在文字框內文字的左邊繪製指定影象
drawableright是在文字框內文字的右邊繪製指定影象
drawabletop是在文字框內文字的頂端繪製指定影象
drawablepadding設定文字框內文字與影象之間的間距
android textview換行問題
應用中 textview包含年月日的時候 在一行內不能顯示完整時 文字內容會自動換行。這裡使用網上大家使用的方法,比如半形轉全形 過濾特殊字元等等都無效。最終的解決辦法是在年月日這裡加空格。eg 2013年11月28日20時22分 最終替換為 2013 年 11 月 28 日 20時22分 個人理解...
android textview功能列表
1 顯示富文字 url 文字大小 顏色 字型 autolink all phone web email map none string str i love china charsequeence cq html.fromhtml str textview.settext cq textview.s...
Android TextView屬性XML詳解
android ems 設定textview的寬度為n個字元的寬度。android maxems 設定textview的寬度為最長為n個字元的寬度。與ems同時使用時覆蓋ems選項。android minems 設定textview的寬度為最短為n個字元的寬度。與ems同時使用時覆蓋ems選項。an...