文档章节

android学习笔记(八)

Kaming
 Kaming
发布于 2014/09/26 11:56
字数 696
阅读 36
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

一、视图像素大小单位

px:表示屏幕实际像素。

dp(dip device independent pixels 独立像素):是屏幕的物理尺寸(与密度无关),大小为一英寸的1/72,1dp=1px。

sp(scaled pixels 放大像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。


二、控件排列顺序

android:orientation="vertival"纵向排列

android:orientation="horizontal" 横向排列


三、控件是否可见

android:visibility=""

visible: view显示出来

invisible:view隐藏起来

gone: view 从布局中删除


四、View和ViewGroup

  View view=View.inflate(this,R.layout.activity_main , null);
        LayoutParams layoutParams=new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
        TextView text=new TextView(this);
        text.setLayoutParams(layoutParams);
        text.setBackgroundColor(Color.GREEN);
        text.setText("爱爱爱爱");
        ((RelativeLayout)view).addView(text);
        setContentView(view);

inflate就相当于将一个xml中定义的布局找出来。

LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。

ViewGroup里面有很多类,比如说RelativeLayout等等Layout


五、TextView

 t1=(TextView) findViewById(R.id.textView1);
        t2=(TextView) findViewById(R.id.textView2);
        String s1="<font color='blue'>so sad</font><br/>";
        s1+="<a href='http://www.baidu.com'>aaa<br/>";
        t1.setText(Html.fromHtml(s1));
        //产生链接效果
        t1.setMovementMethod(LinkMovementMethod.getInstance());
        String s2="so ...";
        s2+="what?";
        t2.setText(s2);
        t2.setMovementMethod(LinkMovementMethod.getInstance());

在android中,有一个容易遗忘的Html.fromhtml方法,意思是可以将比如文本框中的字符串进行HTML格式化


六、SpannableString

extView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置

 //创建一个 SpannableString对象   
  SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");   
  //设置超链接   
  sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7,   
  Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);   
  //设置高亮样式一   
  sp.setSpan(new BackgroundColorSpan(Color.RED), 17 ,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
  //设置高亮样式二   
  sp.setSpan(new ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);   
  //设置斜体   
  sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);   
  //SpannableString对象设置给TextView   
  myTextView.setText(sp);   
  //设置TextView可点击   
  myTextView.setMovementMethod(LinkMovementMethod.getInstance()); 

SpannableString属性:

  1、BackgroundColorSpan 背景色 
    2、ClickableSpan 文本可点击,有点击事件

    3、ForegroundColorSpan 文本颜色(前景色)
    4、MaskFilterSpan 修饰效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter)
    5、MetricAffectingSpan 父类,一般不用
    6、RasterizerSpan 光栅效果
    7、StrikethroughSpan 删除线(中划线)
    8、SuggestionSpan 相当于占位符
    9、UnderlineSpan 下划线
    10、AbsoluteSizeSpan 绝对大小(文本字体)
    11、DynamicDrawableSpan 设置图片,基于文本基线或底部对齐。
    12、ImageSpan 图片
    13、RelativeSizeSpan 相对大小(文本字体)
    14、ReplacementSpan 父类,一般不用
    15、ScaleXSpan 基于x轴缩放
    16、StyleSpan 字体样式:粗体、斜体等
    17、SubscriptSpan 下标(数学公式会用到)
    18、SuperscriptSpan 上标(数学公式会用到)
    19、TextAppearanceSpan 文本外貌(包括字体、大小、样式和颜色)
    20、TypefaceSpan 文本字体

    21、URLSpan 文本超链接

下面是一个文本点击的例子:

Kaming
粉丝 1
博文 18
码字总数 10836
作品 0
深圳
私信 提问
加载中
请先登录后再评论。
分类导航(更新时间:2019.12.9)

以下目录是使用我的博客园备份工具自动生成的,分类可能不准,静待修复 关于工具详情请看我博客首页的置顶,目录过多,还有博客园导出的备份xml文件数据上会欠缺几篇博文(可能是服务器定时更...

osc_2qjd9tjg
2019/01/18
4
0
Android实战经验之图像处理及特效处理的集锦(总结版)

1 Android学习笔记进阶之在图片上涂鸦(能清屏) 2 Android学习笔记之详细讲解画圆角图片 3 Android学习笔记进阶20之得到图片的缩略图 4 Android学习笔记进阶19之给图片加边框 5 Android学习笔...

破晓之星
2012/04/14
835
4
Android实战经验之图像处理及特效处理的集锦(总结版)

1 Android学习笔记进阶之在图片上涂鸦(能清屏) 2 Android学习笔记之详细讲解画圆角图片 3 Android学习笔记进阶20之得到图片的缩略图 4 Android学习笔记进阶19之给图片加边框 5 Android学习笔...

xiaosi
2012/03/12
4.1W
25
恺风Android专栏

Android学习笔记(四六):互联网通信-文件下载 Android学习笔记(四五):互联网通信-HttpClient、XML解析(W3C) Android学习笔记(四四):第三方Java库的使用 Android学习笔记(四三):...

李光正
2015/10/15
6
0
Android 进阶学习笔记整理

一.android系统架构图及各层介绍 1. 应用层:应用是用java语言编写的运行在虚拟机上的程序,比如通讯录,日历,电话,短信,浏览器等。 2. 应用框架层:这一层是编写Google发布的核心应用时所...

osc_8ouyb53z
2018/07/22
1
0

没有更多内容

加载失败,请刷新页面

加载更多

Whoosh:Python 的轻量级搜索工具

👆 “Python猫” ,一个值得加星标的公众号 花下猫语:周末愉快啊!今天还是给大家分享一篇文章。既然你已点进来看了,那说明你对此话题应该是感兴趣的,希望你读后有所收获吧。Best wish...

Python猫
2019/11/23
13
0
Spring升级案例之IOC介绍和依赖注入

Spring升级案例之IOC介绍和依赖注入 一、IOC的概念和作用 1.什么是IOC 控制反转(Inversion of Control, IoC)是一种设计思想,在Java中就是将设计好的对象交给容器控制,而不是传统的在对象内...

osc_xmvqghwh
14分钟前
0
0
KVM影子页表

2019年是崭新的一年,Linux kernel 5.0 低调发布了,给我的感觉就是,牛人不断在飞跃,我们也要策马奔腾赶紧追赶才有些许出路。 内核子系统众多,我发现KVM是个非常有意思的子系统,对cpu,内...

jeffxiemo
2019/01/08
0
0
重磅!入门者福音:从0学Java系列文章即将推出!

好消息!小编为了回馈母校(川农),决定和学校物联网系携手打造《从0开始学Java》系列文章,目前该系列文章由小编本人和一位研究生师姐撰写,接下来该系列文章将在本公众号陆续推出,欢迎关...

beifengtz
2019/07/28
17
0
围绕Java反射,BAT的面试官可以问出多少花样

好久不见,在疫情的控制下,我急需一杯奶茶续续命! 作者:王炸 |【坚持1000篇原创】 2020.2.21 王炸的第60篇原创 ☝️先赞后看是技术人的传统美德☝️ 有小朋友问我,我刚刚学Java,没接触过...

励志程序员
02/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部