目錄
無標(biāo)題.png
說明
textview用的特別多撕捍,所以使用的方式也很多摇锋,這里選擇七種初步認(rèn)識textView的基本用法驾霜。
省略樣式
屬性 | 效果 |
---|---|
end | 結(jié)尾省略 |
start | 開頭省略 |
middle | 中間省略 |
none | 不省略 |
marquzz | 幫助設(shè)置跑馬燈效果 |
示例代碼
android:ellipsize="end"
跑馬燈示例
xml
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
設(shè)置選中
txt = findViewById(R.id.txt);
txt.setSelected(true);
自動鏈接
設(shè)置autolink屬性 自動識別字符串內(nèi)容中對應(yīng)的字段
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/txt"
android:textSize="20sp"
android:autoLink="email"
android:text="我的郵箱 2xxxxxxxxx@qq.com"/>
行高控制
屬性 | 含義 |
---|---|
lineSpacingMultiplier | 0時耕餐,lineSpacingExtra的值=行間距+字高度(腦補) |
lineSpacingExtra | 行高 |
layout_height | 行數(shù)*行高 |
paddingTop | (行高-字高)/2 |
paddingBottom | (行高-字高)/2 |
textSize | 字高(通常1sp=1dp) |
android:lineSpacingMultiplier="0"
android:layout_height="200dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:lineSpacingExtra="50dp"
android:textSize="20sp"
陰影效果
屬性 | 含義 |
---|---|
shadowColor | 陰影顏色 |
shadowRadius | 陰影半徑,越大陰影越模糊 |
shadowDx | 陰影相對于原文本橫向相對距離 |
shadowDy | 陰影相對于原文本縱向相對距離 |
android:shadowColor="#ff000000"
android:shadowRadius="10"
android:shadowDx="30"
android:shadowDy="30"
自定義字體
Android 8.0之前
1.建立assets文件夾旺上,放入字體文件
2.使用代碼
Typeface typeFace = Typeface.createFromAsset(getAssets(), "huawenhupo.ttf");
txt.setTypeface(typeFace);
Android 8.0之后
1.res下建立font文件夾瓶蚂,放入字體文件
2.使用代碼,設(shè)置fontFamily
<TextView
android:id="@+id/txt"
android:layout_width="100dp"
android:layout_height="50dp"
android:fontFamily="@font/huawenhupo"
android:gravity="center_horizontal"
android:text="主頁" />
中間可點擊
SpannableString spannableString = new SpannableString("測試《可點擊文字》");
spannableString.setSpan(new ClickableSpan() {
@Override
public void onClick(View view) {
Toast.makeText(TestDemo.this, "觸發(fā)了點擊事件", Toast.LENGTH_SHORT).show();
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(Color.RED);//設(shè)置字體顏色
ds.setUnderlineText(true);//設(shè)置沒有下劃線
}
}, 3, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(spannableString);
txt.setHighlightColor(getResources().getColor(android.R.color.transparent));//去掉背景
txt.setMovementMethod(LinkMovementMethod.getInstance());//必須設(shè)置不然點擊無效
圖文混排
final String string = "<p><img alt=\"laugh\" height=\"23\" src=\"http://img3.imgtn.bdimg.com/it/u=3140599426,288343775&fm=26&gp=0.jpg\" " +
"title=\"laugh\" width=\"23\" /> 簡單的圖文混排" +
"<img alt=\"cheeky\" height=\"23\" src=\"http://img3.imgtn.bdimg.com/it/u=3140599426,288343775&fm=26&gp=0.jpg\" " +
"title=\"cheeky\" width=\"23\" />這是展示內(nèi)容</p>";
final Html.ImageGetter imgGetter = new Html.ImageGetter() {
public Drawable getDrawable(String source) {
Drawable drawable = null;
URL url = null;
try {
url = new URL(source);
drawable = Drawable.createFromStream(url.openStream(), "img");
} catch (Exception e) {
return null;
}
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable
.getIntrinsicHeight());
return drawable;
}
};
new Thread(new Runnable() {
@Override
public void run() {
final Spanned text = Html.fromHtml(string, imgGetter, null);
handler.post(new Runnable() {
@Override
public void run() {
txt.setText(text);
}
});
}
}).start();