xml地图|网站地图|网站标签 [设为首页] [加入收藏]

史上最完全TextView用法,TextView知识点总结和dem

来源:http://www.ccidsi.com 作者:集成经验 人气:70 发布时间:2020-03-01
摘要:正文来源 Crocutax 的博客 , 转发请声明出处 1,是什么? TextView(文本框卡塔尔,用于显示文本的三个控件; 2,基本性能 1)id:为TextView设置八个零器件id,根据id,大家得以在Java代码中经

正文来源 Crocutax 的博客 , 转发请声明出处

1,是什么?
TextView(文本框卡塔尔,用于显示文本的三个控件;
2,基本性能
1)id:为TextView设置八个零器件id,根据id,大家得以在Java代码中经过 findViewById(卡塔尔的形式获得到该对象,然后进行连锁属性的安装;
2)layout_width:组件的大幅,日常写:wrap_contentmatch_parent,前面一个是控件展现的剧情多大,控件就多大,而前者会填满该控件所在的父容器,当然也能够设置成特定的高低,比方小编那边为了显得效果,设置成了200dp;
3)layout_height:组件的增幅,跟layout_width类比使用;
gravity:设置控件中剧情的对齐方向,TextView中是文字,ImageView中是图片等等。
4)text:设置呈现的文本内容,平时大家是把字符串写到string.xml文件中,然后通过@String/xxx获得相应的字符串内容的;
5)textColor:设置字体颜色;
6)textStyle:设置字体风格,五个可选值:normal(无效果),bold(加粗),italic(斜体);
7)textSize:字体大小,单位sp;
8)background:控件的背景颜色,能够精晓为填充整个控件的颜料,能够是图形哦。
3,带阴影的TextView
1)涉及到的4个属性:
android:shadowColor:设置阴影颜色,要求与shadowRadius一同行使;
android:shadowRadius:设置阴影的歪曲程度,设为0.1就改成字体颜色了;
android:shadowDx:设置阴影在档案的次序方向的摆荡,正是水平方向阴影初叶的横坐标位置;
android:shadowDy:设置阴影在竖直方向的舞狮,正是竖直方向阴影伊始的纵坐标地方。
粗略示例代码和效用:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context="com.example.luolu.textviewdemo.MainActivity">

图片 1

本篇文章主如果记录一下家常支出中,对TextView控件的部分使用过的本事的整合治理,只限本人付出中用到的有的点,并不周密,也未有太多技巧含量.只是为了便利一些程序猿小同伙用到得时候,搜到之后拿来即用。如觉察有错误,烦请帮衬指证,谢谢!

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:shadowColor="#181717"
    android:shadowDx="10.0"
    android:shadowDy="15.0"
    android:shadowRadius="5.0"
    android:text="带阴影的TextView"
    android:textColor="#070721"
    android:textSize="48sp" />

本文首要罗列了以下本领点:

</RelativeLayout>

字符串财富里变量替换

  • 经过换行符换行
  • 在TextView中引进图片能源
  • 动态转变TextView中的图片财富
  • 设置字体和体制
  • 加载自定义字体
  • 限制TextView字符数
  • 多文字展现中不认为奇的
  • 价钱标签与下划线
  • 文字描边与阴影
  • 跑马灯效果
  • 安装字间隔与行间距

图片 2

Android支出中是不是决硬编码的,我们或然会把一部分字符串放在xml中作为能源使用,假若好似下景况:

德姆o动态图如下:

image.png

你好A,招待使用大家的App。

图片 3Demo动态图

3,带边框的TextView
1)涉及到的shapeDrawable财富文件的多少个节点以致质量
<solid android:color = "xxx"> 设置背景颜色;
<stroke android:width = "xdp" android:color="xxx"> 设置边框的粗细,甚至边框颜色;
<padding androidLbottom = "xdp"...> 设置边距;
<corners android:topLeftRadius="10px"...> 设置圆角;
<gradient> 设置渐变色,可选属性有: startColor:起先颜色 endColor:结束颜色 centerColor:中间颜色 angle:方向角度,等于0时,从左到右,然后逆时针方向转,当angle = 90度时从下往上 type:设置渐变的体系。
回顾示例代码和功用:
drawable -->r1.xml:

小编们在程序中要求利用这一个字符串,不过A是叁个变量,很正规的措施是收取那么些字符串,然后用String的replace方法把A替换到客户的别名。

格外幼功的换行符“n”的使用,有个别时候在一些复杂ItemView中,会有前后两行TextView罗列用来显示内容的动静,假使两行TextView的字体样式相近,况且数据出自固定或合併,那时候能够设想用一个TextView消除,能少绘制三个TextView,以至是用来包裹他们的LineaLayout也省了。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android=";

实在,在android中有那般八个东西,那就是 XLIFF,全称叫 XML本地化数据调换格式,乌Crane语全称 XML Localization Interchange File Format。

代码:

<stroke android:width="2px" android:color="#000000"/>

用法也是一点也不细略的,如

<!--普通换行--> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@color/colorAccent" android:text="'好好学习n天天向上" />

<gradient
android:angle="270"
android:endColor="#C0C0C0"
android:startColor="#FCD209" />

您好%1$s,迎接使用大家的App。

效果图:

<padding
android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp"/>
</shape>

程序中一旦给变量赋值就能够了,如

图片 4透过换行符换行

drawable -->r2.xml:

String welcome = getString(R.string.welcome, "小丸子");

三个图形 多少个文字的的控件搭配在此外类型中都太广泛了,举个例子

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android=";

把字符串打字与印刷出来如下

图片 5点赞

<solid android:color="#87CEEB" />

此间的1代表先是个变量,七个变量的话依次依次增加就可以。

那一个能够用LineaLayout来水平包裹ImageView TextView,也能够一贯通过TextView的drawableXxx属性来将图纸财富嵌入TextView中。当中Xxx是指图片摆放的职分,包罗

<!-- 设置一个黑色边框 -->
<stroke
    android:width="2px"
    android:color="#000000" />
<!-- 设置四个圆角的半径 -->
<corners
    android:bottomLeftRadius="10px"
    android:bottomRightRadius="10px"
    android:topLeftRadius="10px"
    android:topRightRadius="10px" />
<!-- 设置一下边距,让空间大一点 -->
<padding
    android:bottom="5dp"
    android:left="5dp"
    android:right="5dp"
    android:top="5dp" />

TextView xml文件可配备的质量

  • drawableLeft 左侧
  • drawableRight 右侧
  • drawableTop 上方
  • drawableBottom 下方
  • drawableStart 控件空间的发端地方
  • drawableEnd 控件空间的结尾

</shape>

android:autoLink    设置是还是不是当文本为ULacrosseL链接/email/电话号码/map时,文本呈现为可点击的链接。可选值(none/web/email/phone/map/all卡塔尔国

代码:

Layout -->activity_main.xml:

android:autoText    如果设置,将活动实施输入值的拼写改过。此处无效力,在展现输入法并输入的时候起效果。

 <TextView android: android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:drawablePadding="10dp" android:drawableRight="@drawable/password_hide" android:gravity="center" android:text="点下试试" />

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context="com.example.luolu.textviewdemo.MainActivity">

android:bufferType  钦点getText(卡塔尔方式赢得的文书连串。选项editable 相似于StringBuilder可追加字符,

效果图:

<TextView
    android:id="@ id/txtOne"
    android:layout_width="250dp"
    android:layout_height="64dp"
    android:textSize="20sp"
    android:gravity="center"
    android:background="@drawable/r1"
    android:text="矩形边框的TextView" />

<TextView
    android:id="@ id/txtTwo"
    android:layout_width="250dp"
    android:layout_height="64dp"
    android:layout_marginTop="30dp"
    android:textSize="20sp"
    android:gravity="center"
    android:background="@drawable/r2"
    android:text="圆角边框的TextView" />

也等于说getText后可调用append方法设置文本内容。spannable 则可在加以的字符区域采用样式,参见这里1、这里2。

图片 6在TextView中引进图片财富

</LinearLayout>
效果图:

android:capitalize  设置法语字母大写类型。此处无效果与利益,须要弹出输入法技能看收获,参见EditView此属性表明。

上边提及的图形 文字的二种布局情势中,LinearLayout水平包裹的办法纵然略显肥胖,不过动态替换此中的图纸比较有利,直接操作包裹的ImageView就能够。而TextView内嵌图片的主意,在动态替换图片财富时,略显繁杂,可是也很简短,首借使对Drawable对象的操作。

图片 7

android:cursorVisible  设定光标为展现/隐讳,暗中同意呈现。

代码:

image.png

android:digits  设置允许输入哪些字符。如“1234567890. -*/%n()”

//1.通过图片资源获取Drawable对象Drawable showPwdDrawable = getResources().getDrawable(R.drawable.password_show);//2.设置Drawable对象的显示范围showPwdDrawable.setBounds(0, 0, showPwdDrawable.getMinimumWidth(), showPwdDrawable.getMinimumHeight;//3.将Drawable设置给TextView(方法中的4个参数,分别对应Drawable相对于文字而言放置的位置:左上右下四个位置)textview.setCompoundDrawables(null, null, showPwdDrawable, null);

4,带图片的TextView
1)基本用法:
安装图片的骨干其实正是:drawableXxx;能够设置多个趋势的图形: drawableTop(上卡塔尔(قطر‎,drawableButtom(下卡塔尔(قطر‎,drawableLeft(左卡塔尔,drawableRight(右卡塔尔(قطر‎别的,也足以行使drawablePadding来安装图片与文字间的间隔;
实例代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context="com.example.luolu.textviewdemo.MainActivity">

android:drawableBottom  在text的下方输出三个drawable,如图片。假如内定一个颜料的话会把text的背景设为该颜色,何况还要和background使用时覆盖前者。

效果图:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:drawableTop="@drawable/luolu1"
    android:drawableLeft="@drawable/luolu2"
    android:drawableRight="@drawable/luolu3"
    android:drawableBottom="@drawable/luolu4"
    android:drawablePadding="10dp"
    android:text="猜猜这是谁?"
    android:textSize="26sp"/>

android:drawableLeft    在text的左手输出三个drawable,如图片。

图片 8动态转变TextView中的图片能源

</LinearLayout>
效果图:

android:drawablePadding 设置text与drawable(图片卡塔尔的间距,与drawableLeft、drawableRight、drawableTop、drawableBottom一同行使,可安装为负数,单独使用聊无意义。

TextView的typeface脾性可以用来安装字体,私下认可有4种档期的顺序

图片 9

android:drawableRight  在text的入手输出贰个drawable,如图片。

  • normal
  • sans
  • serif
  • monospace

image.png

android:drawableTop 在text的正上方输出多少个drawable,如图片。

textStyle属性能够用来安装样式,暗许有3种档案的次序:

5,跑马灯效果的TextView
实例实现代码:
<TextView
android:id="@ id/txtOne"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="Alpha,以后已来!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!haha。。。。。。。呵呵呵呵呵,呵呵呵呵呵gggggggggggggggg呵呵呵呵呵~"/>
效果图:

android:editable    设置是不是可编写制定。这里无意义,参见EditView。

  • bold 粗体
  • italic 斜体
  • normal 正常

图片 10

android:editorExtras    设置文本的额外的输入数据。在EditView再谈谈。

代码:

image.png

android:ellipsize  设置当文字过长时,该控件该怎么体现。犹如下值设置:”start”—–省略号彰显在开首;”end”——省略号突显在最后;”middle”—-省略号呈现在在那之中;”marquee” ——以跑马灯的方法显示(动漫横向移动卡塔尔

<!--粗体 serif样式--><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="@string/study" android:textStyle="bold" android:typeface="serif" /><!--斜体   monospace样式--><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="@string/study" android:textStyle="italic" android:typeface="monospace" />

6,设置TextView字间距和行间隔
字间距:
android:textScaleX:调节字体水平方向的缩放,默许值1.0f,值是float
Java中setScaleX(2.0f);
行间距: Android系统中TextView默许展现汉语时会相比较紧密,为了让每行保持的行间隔
android:lineSpacingExtra:设置行间距,如"3dp" android:lineSpacingMultiplier:设置行间隔的翻番,如"1.2"

android:freezesText 设置保存文本的内容以至光标的职责。参见:这里。

效果图:

7,自动换行
机动换行通过 android:singleLine 设置,默以为 false。
如要求活动换行,能够用:
android:singleLine = "false"
假诺要在一行展现完,不换行,能够用:
android:singleLine = "true"
一旦多行呈现不完,增加maxLines的属性就可以。

android:gravity 设置文本地点,如设置成“center”,文本将居中展现。

图片 11设置字体和体制

android:hint    Text为空时显示的文字提醒音信,可由此textColorHint设置提醒消息的颜料。此属性在EditView中使用,可是此地也得以用。

除此而外系统私下认可提供的两种字体以外,还足以加载自定义的字体.注意:字体文件必得是真正的ttf(TrueTypeFont卡塔尔(قطر‎文件,不然依旧未有功能, 要么间接抛java.lang.RuntimeException: Font asset not found fonts异常,.

android:imeOptions  附加功效,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将展现一个“实现”,而不安装暗中同意是一个回车符号。这几个在EditView中再详尽表明,此处无用。

手续:1.将ttf字体文件放在Module的src/main/assets/fonts/目录下2.加载字体文件到内部存款和储蓄器,并设置给TextView

android:imeActionId 设置IME动作ID。在EditView再做注脚,能够先看那篇帖子:这里。

//通过Typeface的静态方法加载字体资源到内存Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/华文行楷.ttf");//将typeface设置给TextViewtvCustomTypeface.setTypeface;

android:imeActionLabel  设置IME动作标签。在EditView再做验证。

效果图:

android:includeFontPadding  设置文本是不是带有最上端和尾巴部分额外层空间白,默许为true。

图片 12加载自定义字体

android:inputMethod 为文本内定输入法,供给完全约束名(完整的包名)。举例:com.google.android.inputmethod.pinyin,可是这里报错找不到。

为了UI效果依旧荧屏适配等成分,平常须求对TextView展现出来的篇幅做节制,其实也很简单通过3个特性就能够解决:

android:inputType  设置文本的项目,用于救助输入法展现合适的键盘类型。在EditView中再详尽表达,这里无效果与利益。

  • ellipsize 省略地方
  • maxEms 最大字符数,贰个汉字占1个字符,1个乌Crane语/符号占半个字符;从第maxEms 1地方上马用简单号替代
  • maxLines 行数约束(singleLine也行,不过已被标志为Deprecated卡塔尔(قطر‎

android:marqueeRepeatLimit  在ellipsize内定marquee的图景下,设置双重滚动的次数,当设置为marquee_forever时表示最棒次。

android:ems 设置TextView的宽度为N个字符的宽度。这里测量试验为多个中华夏族民共和国字字符宽度,如图:

<!--限制字符数--><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="1" android:maxEms="7" android:text="@string/study" />

android:maxEms  设置TextView的增长幅度为最长为N个字符的上涨的幅度。与ems同临时候接纳时覆盖ems选项。

效果图:

android:minEms  设置TextView的宽度为最短为N个字符的宽度。与ems同不经常间接选举择时覆盖ems选项。

图片 13限制TextView字符数

android:maxLength  节制展现的文本长度,超过部分不出示。

以此相比较布满,比方看个交际圈恐怕今日头条,不会一贯将文字内容总体罗列展示出来,而是末尾有个[更多]or[来得整个],点击后就能够将文字内容全方位来得出来.(当然也许有点击后跳转页面包车型大巴,跟这一次谈的内容非亲非故,那是举个例证State of Qatar

android:lines  设置文本的行数,设置两行就体现两行,固然第二行并未有数据。

兑现起来也比较简单,通过setMaxLines(int maxLines卡塔尔方法就能够到达目标.

android:maxLines    设置文本的最大突显行数,与width大概layout_width结合使用,超过部分机关换行,超过行数将不显得。

每一回点击[展示任何-收起]开关时 , 实行以下事件 , 就能够实现 . 效果图请看小说开头的gif图.

android:minLines    设置文本的蝇头行数,与lines肖似。

showAll = !showAll;if{ tvShowAll.setMaxLines; btnShowAll.setText; }else { tvShowAll.setMaxLines; btnShowAll.setText; }

android:linksClickable  设置链接是还是不是点击连接,纵然设置了autoLink。

注意

android:lineSpacingExtra    设置行间隔。

支出中当遇到上述难点时,同一时候必定会将存在一个前提场景,那就是根据数据内容来动态推断是该呈现 [突显全部]按钮.

android:lineSpacingMultiplier  设置行间隔的翻番。如”1.2”

这时候亟需动态获取textview加载了剧情后攻陷了几行,比方大家要求鲜明当先3行,末尾将在简单 呈现[展现越多] . 当时亟待用到TextView的getLineCount()方法.

android:numeric 借使棉被服装置,该TextView有多少个数字输入法。此处无用,设置后独一效果是TextView有一点击效果,此属性在EdtiView将详细表明。

getLineCount(卡塔尔 方法Return the number of lines of text, or 0 if the internal Layout has not been built.重临TextView内容的行数 , 如若没内容则重临0

android:password    以小点”.”显示文本

必要注意的时,此办法不可能一向在onCreate(State of Qatar中调用,因为那个时候TextView的开始和结果或许还从未加载完成招致获取到得行数为0.方可用如下方式来决定[来得整个]按键是还是不是出示

android:phoneNumber 设置为电话号码的输入格局。

textview.post(new Runnable() { @Override public void run() { if(textview.getLineCount{ //textview内容大于行数限制,展示[显示全部]按钮" }else { //textview内容小于等于行数限制" } }});

android:privateImeOptions  设置输入法选项,此处无用,在艾德itText将进一层商讨。

在商品交易类模块必然牵扯到货品价格 , 而平日出于降价目标,会在分界面上海展览中心示出商品原价和现价 ,原价远不仅仅现价, 同一时候再把原价划上一条横线表示作废以鼓本田UR-V户花费 . 那是很见惯不惊的 价格打折UI.

android:scrollHorizontally  设置文本超过TextView的增加率的情景下,是或不是现身横拉条。

那么些效应需求TextView通过Paint对象来绘制,系统都卷入好了,大家大约利用就可以.

android:selectAllOnFocus    假使文本是可筛选的,让她获得关节并不是将光标移动为文本的始发地点还是末尾地点。TextView中装置后无效劳。

先是步,符合规律定义XML

android:shadowColor 钦定文本阴影的颜色,须要与shadowRadius一齐行使。效果:

<!--价格标签--><!--中间横线--><TextView android: android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="¥20.00" android:textColor="@android:color/holo_red_dark" /><!--底部横线--><TextView android: android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="¥20.00" android:textColor="@android:color/holo_red_dark" />

android:shadowDx    设置阴影横向坐标开端地点。

第二步,通过TextView的Paint对象来涂抹

android:shadowDy    设置阴影纵向坐标初阶地点。

//中间横线tvLineMiddle.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG );//下划线tvLineEnd.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);

android:shadowRadius    设置阴影的半径。设置为0.1就改为字体的颜料了,通常安装为3.0的效果与利益相比好。

效果图:

android:singleLine  设置单行显示。假若和layout_width一同利用,当文本不能够一体来得时,后边用“…”来表示。如android:text="test_ singleLine " android:singleLine="true" android:layout_width="20dp"将只呈现“t…”。假设不设置singleLine只怕设置为false,文本将活动换行

图片 14价格标签与下划线

android:text    设置彰显文本.

涉及属性:

android:textAppearance  设置文字外观。如“?android:attr/textAppearanceLargeInverse

  • shadowColor : Place a blurred shadow of text underneath the text, drawn with the specified color.用钦定颜色在文字下方绘制模糊的黑影
  • shadowDx Horizontal offset of the text shadow. 文字阴影的横向/水平偏移量
  • shadowDy Vertical offset of the text shadow. 文字阴影的纵向/垂直偏移量
  • shadowRadius Blur radius of the text shadow. 阴影的半径范围

”这里援用的是系统自带的一个外观,?表示系统是或不是有这种外观,不然使用私下认可的外观。可安装的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse

android:textColor  设置文本颜色

<!--文字描边与阴影--><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:shadowColor="#ff0000" android:shadowDx="5" android:shadowDy="5" android:shadowRadius="5" android:text="@string/study" />

android:textColorHighlight  被入选文字的底色,默以为棕黄

效果图:

android:textColorHint  设置提醒音讯文字的水彩,默以为海军蓝。与hint一齐行使。

本文由68399皇家赌场发布于集成经验,转载请注明出处:史上最完全TextView用法,TextView知识点总结和dem

关键词: 68399皇家赌场 日记本 Android开发 and 技巧

最火资讯