1 VIV Android控制項之TextView

2021-09-20 04:50:05 字數 2866 閱讀 3993

零、前言

[1].今天總結一下textview

[2].textview在view家族的地位是:原始碼行數11000+,可以說是個大類

[3].textview直接繼承自view,edittext,button,checkbox都是它的後代

[4].textview可以說常用至極,所以掌握textview是必要的

[5].一些細小偏僻的點在這裡綜合一下,以便用時好找

一、拿乙個hello world的textview來舉例

1、**中設定字型大小,自選尺寸

midtv.settextsize(typedvalue.complex_unit_dip,20);//dp

midtv.settextsize(typedvalue.complex_unit_pt,20);//磅

midtv.settextsize(typedvalue.complex_unit_sp,20);//sp---預設

midtv.settextsize(typedvalue.complex_unit_px,20);//畫素

midtv.settextsize(typedvalue.complex_unit_mm,20);//公釐

midtv.settextsize(typedvalue.complex_unit_in, 20);//英吋

3.單行顯示、行尾省略

midtv.setsingleline();

midtv.setellipsize(textutils.truncateat.end);//結尾省略...

或android:singleline="true"

android:ellipsize="end"

4.跑馬燈效果
android:focusable="true"

android:focusableintouchmode="true"

android:ellipsize="marquee"

android:singleline="true"

android:marqueerepeatlimit="marquee_forever"

5.spannablestring的簡單使用
textview富文字,這裡簡單實現下圖效果:

spannablestring

midtv.settext(seal());

private spannablestring seal()

6.陰影效果

陰影.png

android:shadowcolor="#daa0f8"

android:shadowdx="5"

android:shadowdy="5"

android:shadowradius="10"

7.字間距、行間距

字間距.png

android:letterspacing="0.5"//設定字間距

android:linespacingextra //設定行間距,如」8dp」。

android:linespacingmultiplier//設定行間距倍數,如「1.2」,即為1.2倍行間距

8.設定textview抗鋸齒
midtv.getpaint().setantialias(true);或

midtv.getpaint().setflags(paint.anti_alias_flag);

9.新增html
spanned spanned = html.fromhtml(

"toly:link to" +

"endless ");

midtv.setmovementmethod(linkmovementmethod.getinstance());//啟用鏈結

midtv.settext(spanned);

html.png

10.自定義字型!!!

準備字型ygyxsziti2.0.ttf

在專案main資料夾裡建立assets資料夾

自定義字型.png

midtv.settypeface(typeface.createfromasset(getassets(), "fonts/ygyxsziti2.0.ttf"));//設定字型

midtv.settext("張風捷特烈");

11.設定可選擇
android:textisselectable="true"

可選擇.png

12.設定填充文字內部

midtv.settypeface(typeface.createfromasset(getassets(), "fonts/ygyxsziti2.0.ttf"));//設定字型

bitmap bitmap = bitmapfactory.decoderesource(

getresources(),

r.mipmap.bg4);

shader shader = new bitmapshader(

bitmap,

shader.tilemode.repeat,

shader.tilemode.repeat);

midtv.getpaint().setshader(shader);

midtv.settext("張風捷特烈");

設定貼圖.png

後記、1.宣告:

2.連線傳送門:

3.聯絡我

1 VIV Android控制項之TextView

零 前言 1 今天總結一下textview 2 textview在view家族的地位是 原始碼行數11000 可以說是個大類 3 textview直接繼承自view,edittext,button,checkbox都是它的後代 4 textview可以說常用至極,所以掌握textview是必要的 5...

3 VIV Android控制項之ImageView

零 前言 1 imageview地位 直接繼承自view,安卓原始碼1600 算是個小類,但顯示基本上都用它 2 scaletype有點小煩,不過看圖還是挺清晰的 3 croptopadding adjustviewbounds tint 4 設定 原始碼中imageview的自定義屬性 attr ...

WPF控制項開發之自定義控制項 1

windows presentation foundation wpf 控制項模型的擴充套件性極大減少了建立新控制項的需要。但在某些情況下,仍可能需要建立自定義控制項。本主題討論可最大限度減少在 windows presentation foundation wpf 中建立自定義控制項以及其他控制項...