Android TextView等控件不为人知的秘密
Posted BandaYung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android TextView等控件不为人知的秘密相关的知识,希望对你有一定的参考价值。
一、TextView
Button是继承TextView,TextView有的,同样Button也有以下特点:
1、空格占位法
 
== 普通的英文半角空格
 
==
==  
(普通的英文半角空格但不换行)
 
== 中文全角空格 (一个中文宽度)
 
==  
== en空格 (半个中文宽度)
 
==  
== em空格 (一个中文宽度)
 
== 四分之一em空格 (四分之一中文宽度)
举个空格例子:
- 在布局中
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="姓 名" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="身份证" />
</LinearLayout>
- 在代码中
setText("姓` `名");
setText("身份证");
2、首行缩进
在布局中,在文字的前面加入”\\u3000\\u3000”
在代码中,使用setText(“\\u3000\\u3000”+xxxxx);
3、设置文字 + 图片
这里举文字左边有图片的例子(其他三个方向也同理):
- 在布局中
android:drawableLeft="@mipmap/icon_praise"
android:drawablePadding="5dip"
- 在代码中
TextView tv = ...;
tv.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.icon_praise, 0, 0, 0);
tv.setCompoundDrawablePadding(5);
4、设置字形
android:textStyle:设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
这里举例设置粗体:
- 在布局中
android:textStyle="bold"
- 在代码中
TextView tv = ...;
TextPaint tp = tv.getPaint();
tp.setFakeBoldText(true);
5、使用&符号
提示unescaped & or nonterminated character/entity reference,
情景:在使用databinding布局中用到表达式时出现的问题,同样其他也适用。
原因:IDEA将“&”当成了特殊符号。
解决方法:将“&”改写为 &
二、Button
1、设置padding无效
设置水平padding的话,minWidth=0才有效
设置垂直padding的话,minHeight=0才有效
如下代码:
android:minHeight="0dp"
android:minWidth="0dp"
后续更新。。。
以上是关于Android TextView等控件不为人知的秘密的主要内容,如果未能解决你的问题,请参考以下文章
android开发的textview和imageview有啥区别吗?
Android TextView中文字通过SpannableString来设置超链接 颜色 字体等属性