android文本与布局
1、字符串资源里变量替换
如项目中 values 下的 strings.xml
其实,在 android 中也有这样的东西,那就是 XLIFF,全称叫 XML 本地化数据交换格式,英文全称 XML Localization Interchange File Format。
<string name="page">第%1$s页</string>
程序中只要给变量赋值就可以了,如
String page = getString(R.string.page,"345");
那么,要是有多个变量呢,如第345页24行?
<string name="page">第%1$s页%2$s行</string>
程序中:
String page = getString(R.string.page,"345","24");
2、TextView 中设置多种字体大小
注意:TextSpan的用法
String text = "Android实战技巧之文本与布局"; int start = text.indexOf('之'); int end = text.length(); Spannable textSpan = new Spannable(text); textSpan.setSpan(new AbsoluteSizeSpan(20),0,start,Spannable.SPAN_INCLUSIVE_INCLUSIVE); textSpan.setSpan(new AbsoluteSizeSpan(12),start,end,Spannable.SPAN_INCLUSIVE_INCLUSIVE);
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 打开此 URLLinkify.ALL -- 这个选项是识别出所有系统所支持的特殊 Uri,然后做相应的操作
特殊情况:
当一段文字部分是超链接或者我们需要点击超链接跳到另一个 Activity时,如何处理?
Spannable的使用:
public class MainActivity extends Activity { private TextView testText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); testText = (TextView) findViewById(R.id.testText); //将TextView的显示文字设置为SpannableString testText.setText(getClickableSpan()); //设置该句使文本的超连接起作用 testText.setMovementMethod(LinkMovementMethod.getInstance()); } //设置超链接文字 private SpannableString getClickableSpan(){ SpannableString spanStr = new SpannableString("使用该软件,即表示您同意该软件的使用条款和隐私政策"); //设置下划线文字 spanStr.setSpan(new UnderlineSpan(), 16, 20,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置文字的单击事件 spanStr.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { startActivity(new Intent (MainActivity.this, TestActivity1.class)); } }, 16, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置文字的前景色 spanStr.setSpan(new ForegroundColorSpan(Color.WHITE), 16, 20,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置下划线文字 spanStr.setSpan(new UnderlineSpan(), 21, 25,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置文字的单击事件 spanStr.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { startActivity(new Intent(MainActivity.this, TestActivity2.class)); } }, 21, 25, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置文字的前景色 spanStr.setSpan(new ForegroundColorSpan(Color.WHITE), 21, 25,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return spanStr; } }
4、布局中只在界面底部
android:layout_alignParentBottom="true"
5.EditText 与软键盘
<activity android:name=".LoginActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden|adjustResize" >
6.布局的边框颜色
在drawable下添加layer_list
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <stroke android:width="3px" android:color="#ffff0000" /><!--边框颜色--> <solid android:color="#FFFCFCFC" /><!--填充色-- > <corners android:radius="4dp" /><!--圆角--> </shape> </item> </layer-list>
在 layout 中引用:
<LinearLayout android:layout_width="match_parent" android:layout_height="300dp" android:orientation="vertical" android:background="@drawable/layout_bg" >
7.Java 文件中字体加粗
textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
//use TextPaint
textView.getPaint().setFakeBoldText(true);
android文本与布局相关推荐
- Android开发笔记(一百三十八)文本输入布局TextInputLayout
文本输入布局TextInputLayout TextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件.众所周知,EditText未输入字符时,我们可以 ...
- Android Design新控件之TextInputLayout 文本输入布局与自定义颜色简介
Android 从5.0版本开始,新增了Android Materia Design库,让开发者高效的实现炫酷的UI效果 推荐: TextInputLayout(文本输入布局) TabLaout(选项 ...
- android的五大布局(layout)
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建 筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLa ...
- Android应用开发(1)---Android五大UI布局的特有属性
Android五大UI布局的特有属性 Android五大UI布局 1. LinearLayout 线性布局 2. RelativeLayout 相对布局 3. FrameLayout 帧布局,空白布局 ...
- Android文本输入框EditText方法说明和属性
1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以".&quo ...
- Android页面的布局
1. Android的基础布局 LinearLayout 线性布局 RelativeLayout 相对布局 TableLayout 表格布局 FrameLayout 帧布局(框架布局) Constra ...
- android 文本框(textview)左右滑动
实现android文本框的触摸左右滑动,不需要自定自定义什么的,直接textview就自带了,如下(以左右滑动为列子): 布局文件中定义(事实上这个布局里只配置maxLines 就可以了): < ...
- 我的第一行Android代码-常用布局
1.布局种类 Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局) ...
- Android中相对布局是,Android之相对布局
Android中的布局分为六种,分别是相对布局.线性布局.表格布局.网格布局.帧布局.绝对布局,良好的布局设计对UI界面至关重要,下面先来看看先相对布局. 相对布局(RelativeLayout): ...
最新文章
- 使用数字示波器DS6104测量交流信号的幅值和相位
- iris流程图_如何搭建一个简单的机器学习流水线?
- virsh 关机_KVM virsh常用命令篇
- C++构造函数的分类及调用
- Pandas0.25来了,别错过这10大好用的新功能
- xdpyinfo命令找不到_无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。
- 关于SAP Commerce Cloud OCC API url里不包含user信息的问题
- 产品运行所需的信息检索失败_禁煤后用什么替代锅炉?看看三种热源运行费用对比就知道了...
- Vim设置支持鼠标,光标定位,滚轮上下移动
- golang使用go-sql-driver实现mysql增删改操作
- 实现跨word文档的格式刷,两个word间格式刷
- 银湖联手博通欲收购东芝芯片业务 出价180亿美元
- ddos流量攻击有多少G_如何防护ddos流量攻击?
- 基于OpenAI的Chatbot开发记录
- Validform使用说明
- (LeetCode C++)跳跃游戏
- 政权更迭最频繁的魏晋南北朝
- 数据分析-常用的数据分析框架-06
- Oracle数据库,建库建表
- 评价指标——精确度,召回率,真阳率,假阳率,P-R曲线,ROC曲线,AUC