第16讲- UI组件之TextView
第16讲 UI组件之TextView
Android系统所有UI类都是建立在View和ViewGroup这两类的基础上的。
所有View的子类称为widget;所有ViewGroup的子类称为Layout。
Android系统借鉴了java中的UI设计思想,包括事件响应机制和布局管理。
UI组件的简单分类(自己定义的):
1. Basic Views --- 常用的View,例如TextView,EditText和Button
2. Pick Views --- 允许用户进行选择的View,例如TimePicker和datePicker
3. List Views --- 显示大量项目的View,例如ListView和spinner
4.DisplayViews --- 显示图片的View,例如Gallery和mageSwitcher
5.Menus --- 显示额外的上下文菜单项目的View
6.Additional Views --- 其他的View,例如AnalogClock和DigitalClock
一、文本视图TextView
显示文本的组件,类似于html当中的label标签。其功能是向用户显示文本内容(不允许编辑),同时可选择性地让用户编辑文本。
组件常见属性:
1. 对宽度影响的属性、
2. 对高度影响的属性、
3.对文本颜色影响的属性、
2. 对文本大小影响的属性、
5. 对文本样式影响的属性、
6.对文本位置影响的属性、
7. 对文本动态性影响的属性(走马灯效果)
1. 对宽度影响的属性有:
android:layout_width//布局宽度,一般是"fill_parent","wrap_content","match_parent"。当然也可以设置数值.
android:width //设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)。
android:maxWidth
android:minWidth
android:ems //设置TextView的宽度为N个汉字字符的宽度
android:maxEms //设置TextView的宽度为最长为N个汉字字符的宽度,与ems同时使用时覆盖ems选项。
android:minEms //设置TextView的宽度为最短为N个汉字字符的宽度,与ems同时使用时覆盖ems选项。
android:maxLength //限制显示的文本长度,超出部分不显示。
android:singleLine //设置单行或者多行显示,一旦设置为true,则文字不会自动换行。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。
TextView必须的两个属性:android:layout_width 布局的宽度; android:layout_height 布局的高度
带"layout"的属性是指整个控件而言的,是与父控件之间的关系,如 layout_gravity 在父控件中的对齐方式, layout_margin 是级别相同的控件之间的间隙等等;
不带"layout" 的属性是指控件中文本的格式,如gravity是指文本的对齐方式等等,而其中文本的格式又受制约于它的控件在父控件中的属性.
长宽相对设置
android:layout_width = "fill_parent" //设置为组件宽度/高度与父窗口的一致(其他属性不能再影响宽度和高度了)
android:layout_height = “wrap_content” <!--组件长/宽随着内容变化 -->
android:background="#00ff00"
android:width="100dp" <!--此时不再起作用,因为有fill_parent-->
android:ems="2" //设置TextView的宽度为N个固定的汉字字符的宽度,2即为2个汉字宽度,4个字符。
android:singleLine="true" //设置单行或者多行显示,一旦设置为true,则文字不会自动换行。
2. 对高度影响的属性有:
android:layout_height//布局高度,一般是"fill_parent","wrap_content","match_parent"。当然也可以设置数值.
android: heigh //设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight
android:minHeight
android:lines //设置文本的行数,若设置两行就显示两行,即使第二行没有数据。
android:maxLines //设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:minLines //设置文本的最小行数,与lines类似
android:lineSpacingExtra //设置行间距
android:singleLine
3. 对颜色影响的属性有:
android:textColor //设置文本颜色
android:textColorHighlight //被选中文字的底色,默认为蓝色
例如:android:textColor="#00ffff"
android:textColorHighlight="#cccccc"
4. 对文字大小影响的属性有:
android:textSize="15sp" //设置文字大小,推荐度量单位”sp”,如”15sp”
5. 对文本字体样式的设置:
android:textStyle="normal" //设置字形[bold(粗体) 0,italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
android:typeface //设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
6. 对文本显示位置的设置:
android:gravity="center" //设置文本在文本组件里面的位置,如果设成“center”,文本居中显示。
7. 对文本动态性影响的属性(走马灯效果)
所谓跑马灯效果就是当文字超过控件所能容纳的空间时,在控件内滚动的效果。
Android系统中TextView实现跑马灯效果,必须具备以下几个条件:
1、android:ellipsize=”marquee” ,设置为滚动效果
2、android:singleLine,TextView必须单行显示,即内容必须超出TextView大小
3、android:focusable ,TextView要获得焦点才能滚动
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true" //当singlLine时,默认为true。必须单行显示,即内容必须超出TextView大小
android:ellipsize="marquee" //设置为滚动效果,以横向滚动方式显示
android:marqueeRepeatLimit="marquee_forever" //设置走马灯滚动次数,无限循环
android:focusable="true" //获得焦点,TextView要获得焦点才能滚动
android:focusableInTouchMode="true" //设置在Touch模式下View是否能取得焦点
android:text="hello world my dearfriend this is a long long string, longlong string" />
第16讲- UI组件之TextView的更多相关文章
- 第34讲 UI组件之 ProgressDialog和Message
第34讲UI组件之 ProgressDialog和Message 1.进度对话框 ProgressDialog <1>简介 ProgressDialog是AlertDialog类的一个扩展 ...
- 第33讲 UI组件_进度条ProcessBar和消息队列处理器handler
第33讲UI组件_进度条ProcessBar和消息队列处理器handler 1. 进度条ProcessBar 一个可视化的进度指示器,代表正在执行的耗时任务.可以为用户展示一个进度条,表示正在执行的任 ...
- 第30讲 UI组件之 GridView组件
第30讲 UI组件之 GridView组件 1.网格布局组件GridView GridView是一个ViewGroup(布局控件),可使用表格的方式显示组件,可滚动的控件.一般用于显示多张图片,比如实 ...
- 第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter
第29讲 UI组件之 ListView与 BaseAdapter,SimpleAdapter 1.BaseAdapter BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的 ...
- 第27讲 UI组件之 ScrollView与底部动态添加数据
第27讲 UI组件之 ScrollView与底部动态添加数据 1. ScrollView(滚动视图) ScrollView(滚动视图)是实现滚动的一个控件,只需要将需要滚动的控件添加到ScrollVi ...
- 第19讲- UI组件之_Button、checkbox、radio
第19讲 UI组件之_Button.checkbox.radio 四.按钮Button Button继承自TextView,间接继承自View.当用户对按钮进行操作的时候,触发相应事件,如点击,触摸. ...
- 第32讲 UI组件之 时间日期控件DatePicker和TimePicker
第32讲 UI组件之 时间日期控件DatePicker和TimePicker 在Android中,时间日期控件相对来说还是比较丰富的.其中, DatePicker用来实现日期输入设置, Time ...
- 第31讲 UI组件之 Gallery画廊控件
第31讲 UI组件之 Gallery画廊控件 1.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery只 ...
- 第28讲 UI组件之 ListView和ArrayAdapter
第28讲 UI组件之 ListView和ArrayAdapter 1. Adapter 适配器 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的 ...
随机推荐
- <php>统计目录数和文件数
$dirn = 0; //目录数 $filen = 0; //文件数 //用来统计一个目录下的文件和目录的个数 function getdirnum($file) { global $dirn; gl ...
- BoneCP学习笔记
什么是BoneCP BoneCP 是一个快速.免费而且开源的java数据库连接池(JDBC Pool)管理工具库.如果你曾经使用过C3P0或者DBCP,那你肯定知道上面这句话的意思:如果你没用过这些, ...
- Android开发小问题——java使用
2013-09-25 导语:离上次写博客有点久了,这次写两个开发中解决的问题吧. 正文: 1.ArrayList<E>使用remove问题: 2.字符串映射到函数运行方法: ==== 1. ...
- 菜鸟学EJB(二)——在同一个SessionBean中使用@Remote和@Local
不废话.直接进入正题: 在Jboss4及曾经的版本号中,例如以下代码能够成功部署: package com.tjb.ejb; import javax.ejb.Local; import javax. ...
- 使用date转换UNIX时间戳
1.将time string转换成时间戳 date -d "2010-10-12 12:25:00" +%s 2.将时间戳转换成time string date -d " ...
- oracle时间戳转换
select (to_date('2013-04-09 14:02:15','yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01','yyyy-mm-dd')) ...
- Windows命令行(DOS命令)教程-4(转载)http://arch.pconline.com.cn//pcedu/rookie/basic/10111/15325_3.html
2. md md是英文make directory(创建目录)的缩写 [功能] 创建一个子目录 [格式] md [C:]path [举例] 用md 建立一个叫做purple的目录 3. cd cd是英 ...
- DTO学习系列之AutoMapper(三)
本篇目录: Custom Type Converters-自定义类型转换器 Custom Value Resolvers-自定义值解析器 Null Substitution-空值替换 Containe ...
- 2、shell命令学习
1.第一个例子 touch test.sh vim test.sh #!/bin/bash echo "hello world" chmod 755 test.sh ./test. ...
- 洛谷 P1830 轰炸Ⅲ
P1830 轰炸Ⅲ 题目提供者wanglichao1121 标签模拟矩阵洛谷原创 难度普及/提高- 题目背景 一个大小为N*M的城市遭到了X次轰炸,每次都炸了一个每条边都与边界平行的矩形. 题目描述 ...