Android TextView等控件不为人知的秘密

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30552993/article/details/77530850

一、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="姓&#8195;名" />

    <TextView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:text="身份证" />

</LinearLayout>
  • 在代码中
setText("姓`&#8195;`名");
setText("身份证");

这里写图片描述

2、首行缩进

  • 在布局中,在文字的前面加入”\u3000\u3000”

  • 在代码中,使用setText(“\u3000\u3000”+xxxxx);

    扫描二维码关注公众号,回复: 3839148 查看本文章

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将“&”当成了特殊符号。

解决方法:将“&”改写为 &amp;

二、Button

1、设置padding无效

设置水平padding的话,minWidth=0才有效
设置垂直padding的话,minHeight=0才有效

如下代码:

android:minHeight="0dp"
android:minWidth="0dp"

后续更新。。。

猜你喜欢

转载自blog.csdn.net/qq_30552993/article/details/77530850