Android实战技巧之一:文本与布局(字符串变量在资源里替换)
来源:互联网 发布:手机号定位软件破解版 编辑:程序博客网 时间:2024/06/02 01:02
//别看这个标题挺大,其实这次要说的只是3个小技巧。
//2014.11.7 update
1、字符串资源里变量替换
工作中是拒绝硬编码的,Android里会把一些字符串等放在xml中当做资源使用,如项目中values下的strings.xml列出了app_name.
有些情况是这样的,程序中要使用的字符串如第345页,345是变量,那么我们不可能用两个字符串资源如
在程序中拼接字符串。那么我们可能会想,在我们学习C的时候,有%s这样的神奇的符号,可以替换变量的格式化操作符。
其实,在android中也有这样的东西,那就是XLIFF,全称叫XML本地化数据交换格式,英文全称XML Localization Interchange File Format。
用法也是很简单的,如
程序中只要给变量赋值就可以了,如
那么,要是有多个变量呢,如第345页24行?这也好办,如下:2、TextView中设置多种字体大小
这是项目中经常遇到的,比如UI是这样的:
Android实战技巧之文本与布局
像这样的两种字体,要如何处理呢?需要用到android.text命名空间下的一些与spannable相关的类和接口。例子如:
这个textSpan就是你想要的。
3、TextView的超链接
这个很简单,在xml中属性autoLink=“all”。
程序中TextView.setAutoLink(Linkify.ALL);
说下参数:
Linkify.EMAIL_ADDRESS -- 仅识别出TextView中的Email在址,标识为超链接,点击后会跳到Email,发送邮件给此地址
Linkify.PHONE_NUMBERS -- 仅识别出TextView中的电话号码,标识为超链接,点击后会跳到Dialer,Call这个号码
Linkify.WEB_URLS-- 仅识别出TextView中的网址,标识为超链接,点击后会跳到Browser打开此URL
Linkify.ALL -- 这个选项是识别出所有系统所支持的特殊Uri,然后做相应的操作
特殊情况:
当一段文字部分是超链接或者我们需要点击超链接跳到另一个Activity时,如何处理?
答案还是用Spannable。例子如下(摘自网络):
4、布局中只在界面底部
在大部分的android程序中,都会发现一个底部的菜单栏。这通常是一个线性布局加一些按钮。如何让其始终在底部,无论是哪个分辨率呢?
这要用到关系布局的属性
在关系布局内部,如果把此属性设置true,就会在关系布局的底部了。
这个用途还是很广泛的。
5.EditText与软键盘
当界面有EditText并且光标落在上面时,软键盘就会弹出。本来是为了方便,但有些情况这样挺讨厌的。比如登录界面。
取消它只需要在Manifest文件中使用windowSoftInputMode即可,如下:
6.布局的边框颜色
// 2014.11.24 updated
尝试一下用各种layout仿制listview,就是把layout的边框设置对应的颜色。
在drawable下添加layer_list,
在layout中引用://2014.11.27 update
其他widget如ImageView的边框也可以像这样设置。
7.Java文件中字体加粗
- Android实战技巧之一:文本与布局(字符串变量在资源里替换)
- Android实战技巧之一:文本与布局
- Android实战技巧之一:文本与布局
- Android字符串资源里变量替换
- 技巧-搜索与替换字符串
- Android实战技巧:Android学习资源总结
- Linux sed 替换文本命令 实战在html页面使用
- Android实战技巧:使用原始资源文件
- Android实战技巧:使用原始资源文件
- Android应用开发之(字符串替换与文本颜色改变方案)
- Android应用开发之(字符串替换与文本颜色改变方案)
- 正则表达式--笔记与实战(Eclipse文本替换)
- 【转】正则表达式--笔记与实战(Eclipse文本替换)
- 正则表达式--笔记与实战(Eclipse文本替换)
- 文本字符串替换
- 替换字符串里的空格与基本字符串压缩
- (随记三)Android设计模式解析与实战_面对对象六大原则之里式替换原则
- scala字符串变量替换
- haar+adaboost训练过程及遇到的问题
- 在Shell里面判断字符串是否为空
- DOCTYPE声明 struts2与struts1区别
- json-cpp在ubuntu14.04下编译方法
- 使用JDK的native2ascii转码
- Android实战技巧之一:文本与布局(字符串变量在资源里替换)
- 深入Android SQLite 事务处理详解
- springmvc的handle method 方法
- LVS+Keepalived+Squid+Nginx高可用负载均衡缓存配置
- 为什么谷歌不会发生“魏则西事件”?
- Android Studio 2.1 和 Unity3D 5.3.4 交互(二)
- ListView分割线,RecycleView分割线
- XMG Quartz2D 图片擦除
- sendfile