Android TextView(一)——常用属性简介
来源:互联网 发布:替代监听端口 编辑:程序博客网 时间:2024/06/16 05:48
TextView ——常用属性简介
1. android:textStyle 设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开 设置文本字体,必须是以下常量值之一: normal 0, sans 1, serif 2, monospace(等宽字体) 3]
2. android:singleLine="true": 设置文本只显示一行,未显示的文本以 "..." 代替,不过该属性以过期,可以设置一下属性代替该效果。 android:maxLines="1" :设置最大显示行数
3. android:ellipsize="middle": 设置以“...”代替省略内容的位置 ”start”—–省略号显示在开头; ”end”——省略号显示在结尾; ”middle”—-省略号显示在中间; ”marquee” ——以跑马灯的方式显示(动画横向移动)
4. android:focusable=“true”: 设置是否获得焦点。若有requestFocus()被调用时,后者优先处理。注意在表单中想设置某一个如EditText获取焦点,光设置这个是不行的,在Touch模式下获取焦点需要设置focusableInTouchMode为true。
5. android:drawableBottom 在text的下方输出一个drawable, 并且同时和background使用时覆盖后者。 android:drawableLeft 在text的左边输出一个drawable, android:drawablePadding 设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。 android:drawableRight 在text的右边输出一个drawable,如图片。 android:drawableTop 在text的正上方输出一个drawable,
6. android:scrollHorizontally="true" 设置文本滚动显示 android:marqueeRepeatLimit: 设置滚动次数
8. Android中设置阴影也比较简单,xml中可以这样设置: android:shadowColor //指定文本阴影的颜色 android:shadowDx //设置阴影横向坐标开始位置 android:shadowDy //设置阴影纵向坐标开始位置 android:shadowRadius //设置阴影的半径。设置为0.1会变成字体的颜色
7. android:autoLink:设置超链接 默认为none: Linkify.WEB_URLS, Linkify.EMAIL_ADDRESSES, Linkify.PHONE_NUMBERS, Linkify.MAP_ADDRESSES,Linkify.ALL
9. android:bufferType 选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内容。 spannable 则可在给定的字符区域使用样式,
10. android:editable 设置是否可编辑。
11. android:maxEms 设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。 android:minEms 设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。 android:maxLength 限制显示的文本长度,超出部分不显示。
12. android:lineSpacingExtra 设置行间距。 android:lineSpacingMultiplier 设置行间距的倍数。如”1.2”
TextView应用
1.有时候有这样的需求,TextView中个别字符是不确定的,例如,你好XX,欢迎使用我们的XX:App! 在运行时才确定,我们可以这样做:在string.xml资源文件中定义要显示的文本,对于不确定的字符用占位符占据,然后再替换掉:
//资源文件中: <string name="welcome">你好%1$s,欢迎使用我们的%2$s:App!</string>
//将striing 资源文件中的占位符代替掉String welcome=getString(R.string.welcome,"小丸子","智能"); textView.setText(welcome);
2.有时 TextView的文本我们需要部分字符有不同的样式,而设置TextView 的样式属性都是对全部文本而言,这时我们就需要用到android.text 命名空间下的一些与Spannable相关的类和接口 在Activity中首先创建一个Spannable接口的实现类: 其参数CharSequence ,String是它的子类,其实这里也就是我们要设置 在TextView的文本内容 这里要用到Span,各种的Span就是通过SpannableString来封装样的,设置完Span之后需要将Span放入到SpannableString类中,然后SpannableString设置到TextView中去。 把Span放入到SpannableString用到这个方法:spannableString.setSpan(Object what,int start,int end,int flags); 其参数:what 是Object类型 肯定是span对象,star就是我们要操作的文字的起始下标,end是结束的下标。 flag: Spanned.SPAN_EXCLUSIVE_EXCLUSIVE --- 不包含start和end所在的端点 (star,end) Spanned.SPAN_EXCLUSIVE_INCLUSIVE --- 不包含端start,但包含end所在的端点(star,end] Spanned.SPAN_INCLUSIVE_EXCLUSIVE --- 包含start,但不包含end所在的端点 [star,end) Spanned.SPAN_INCLUSIVE_INCLUSIVE--- 包含start和end所在的端点 [star,end]
下面来看代码:
Spannable textSpan=new SpannableStringBuilder("使用该软件,即表示您同意该软件的使用条款和隐私政策"); // 给“使用条款”设置下划线 textSpan.setSpan(new UnderlineSpan(), 16, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 给“使用条款”设置文字的单击事件 textSpan.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { startActivity(new Intent(MainActivity.this, UsageActivity.class)); Log.d(TAG, "onClick: 使用条款被点击了!"); } }, 16, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 给“使用条款”设置文字的前景色 textSpan.setSpan(new ForegroundColorSpan(Color.GREEN), 16, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 给“隐私政策”设置下划线 textSpan.setSpan(new UnderlineSpan(), 21, 25, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 给“隐私政策”设置文字的单击事件 textSpan.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { startActivity(new Intent(MainActivity.this, UsageActivity.class)); } }, 21, 25, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 给“隐私政策”设置文字的前景色 textSpan.setSpan(new ForegroundColorSpan(Color.RED), 21, 25, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); //SpannableString设置到 TextView中去。 textView2.setText(textSpan);
3. 插入图片还可以用html字符串来实现。不过需要用到ImageGetter类来对图片的src属性进行转换:
String imgStr = "<b>大圣归来</b><br><img src=\"" + R.mipmap.dasheng + "\"/>"; Html.ImageGetter imageGetter = new Html.ImageGetter(){ @Override public Drawable getDrawable(String source) { int id=Integer.parseInt(source); Drawable drawable = getResources().getDrawable(id); drawable .setBounds(100, 100, 300, 600); return drawable ; } }; textView2.append(Html.fromHtml(imgStr,imageGetter,null));
4.// Android支持html格式的字符串,
// 通过调用Html.fromHtml(str)方法可以转换html格式的字符串str。
String textStr1 = “如果有一天,“;
String textStr2 = “我悄然离去“;
textView2.setText(Html.fromHtml(textStr1 + textStr2));
// Android支持html格式的字符串, // 通过调用Html.fromHtml(str)方法可以转换html格式的字符串str。 String textStr1 = "<font color=\"#123569\">如果有一天,</font><br/>"; String textStr2 = "<font color=\"#00ff00\">我悄然离去</font>"; textView2.setText(Html.fromHtml(textStr1 + textStr2));
0 0
- Android TextView(一)——常用属性简介
- Android 常用TextView属性
- android TextView常用属性
- TextView常用属性android:ellipsize
- Android TextView的常用属性
- Android常用属性简介
- Android TextView常用属性介绍Android:drawableEnd
- Android开发——控件TextView的用法(常用属性)
- Android: TextView常用属性的用法详解
- android TextView的常用属性介绍
- android TextView的常用属性介绍
- [android]控件TextView的常用属性
- android TextView的常用属性介绍
- Android常用控件TextView的属性详解
- Android--(1)--TextView的常用属性值
- Android开发——TextView属性
- android中常用的控件一TextView
- TextView常用属性
- lightoj 1045 - Digits of Factorial (数学-log运用--阶乘进制位数)
- poj 1905 Expanding Rods
- 【编程语言】Spark 下载及安装教程 CentOS 7
- poj Shortest Prefixes Babelfish 字典树的学习
- LeetCode(387)First Unique Character in a String
- Android TextView(一)——常用属性简介
- [转]ACM 取石子问题
- 创建博客-用户资料
- 数据结构实验之查找四:二分查找
- 闲聊Oracle Exadata与Hadoop
- 167. Two Sum II - Input array is sorted
- 利用gulp自动完成配置"吐"给webpack执行
- docker创建镜像并上传dockerhub
- 中南大学2016年校队选拔赛第一场Problem D