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文本与布局相关推荐

  1. Android开发笔记(一百三十八)文本输入布局TextInputLayout

    文本输入布局TextInputLayout TextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件.众所周知,EditText未输入字符时,我们可以 ...

  2. Android Design新控件之TextInputLayout 文本输入布局与自定义颜色简介

    Android 从5.0版本开始,新增了Android Materia Design库,让开发者高效的实现炫酷的UI效果 推荐: TextInputLayout(文本输入布局) TabLaout(选项 ...

  3. android的五大布局(layout)

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建 筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLa ...

  4. Android应用开发(1)---Android五大UI布局的特有属性

    Android五大UI布局的特有属性 Android五大UI布局 1. LinearLayout 线性布局 2. RelativeLayout 相对布局 3. FrameLayout 帧布局,空白布局 ...

  5. Android文本输入框EditText方法说明和属性

    1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以".&quo ...

  6. Android页面的布局

    1. Android的基础布局 LinearLayout 线性布局 RelativeLayout 相对布局 TableLayout 表格布局 FrameLayout 帧布局(框架布局) Constra ...

  7. android 文本框(textview)左右滑动

    实现android文本框的触摸左右滑动,不需要自定自定义什么的,直接textview就自带了,如下(以左右滑动为列子): 布局文件中定义(事实上这个布局里只配置maxLines 就可以了): < ...

  8. 我的第一行Android代码-常用布局

    1.布局种类 Android中有六大布局,分别是: LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局) FrameLayout(帧布局) ...

  9. Android中相对布局是,Android之相对布局

    Android中的布局分为六种,分别是相对布局.线性布局.表格布局.网格布局.帧布局.绝对布局,良好的布局设计对UI界面至关重要,下面先来看看先相对布局. 相对布局(RelativeLayout): ...

最新文章

  1. 使用数字示波器DS6104测量交流信号的幅值和相位
  2. iris流程图_如何搭建一个简单的机器学习流水线?
  3. virsh 关机_KVM virsh常用命令篇
  4. C++构造函数的分类及调用
  5. Pandas0.25来了,别错过这10大好用的新功能
  6. xdpyinfo命令找不到_无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。
  7. 关于SAP Commerce Cloud OCC API url里不包含user信息的问题
  8. 产品运行所需的信息检索失败_禁煤后用什么替代锅炉?看看三种热源运行费用对比就知道了...
  9. Vim设置支持鼠标,光标定位,滚轮上下移动
  10. golang使用go-sql-driver实现mysql增删改操作
  11. 实现跨word文档的格式刷,两个word间格式刷
  12. 银湖联手博通欲收购东芝芯片业务 出价180亿美元
  13. ddos流量攻击有多少G_如何防护ddos流量攻击?
  14. 基于OpenAI的Chatbot开发记录
  15. Validform使用说明
  16. (LeetCode C++)跳跃游戏
  17. 政权更迭最频繁的魏晋南北朝
  18. 数据分析-常用的数据分析框架-06
  19. Oracle数据库,建库建表
  20. 评价指标——精确度,召回率,真阳率,假阳率,P-R曲线,ROC曲线,AUC

热门文章

  1. AtCoder Regular Contest 088 E - Papple Sort(树状数组+结论)
  2. iOS用户体验之-导航之道
  3. 自己定义AlertDialog对话框布局
  4. 分享到:空间等各大网站 代码
  5. 1207.1——C语言 函数
  6. 大数据全栈式开发语言 – Python
  7. AngularJS之页面跳转Route
  8. java7新添加的一些特性--转
  9. C中指针和数组引发的探索二
  10. 传递HTML字符串virtual,理解Virtual DOM(1) 真实DOM和虚拟DOM的映射