内容来源:高成珍、钟元生《Android编程经典案例》学习笔记

表格布局——TableLayout

表格布局以行和列的方式来管理界面的布局,但并不能明确声明包含几行几列。可通过TableRow来增加行,然后再在其中添加其他控件

表格的常用属性:

android:collapseClolumns---------隐藏指定的列

android:shrinkColumns:----------压缩指定的列

android:stretchColumns----------扩展指定的列

android:layout_column-----------指定控件所在TableRow 中 所处的列

android:layout_span-------------指定某一控件所跨越的列数

自定义定义shape类型:

创建一个rect.xml文档:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
  <solid
    android:color="#00000000"/>
  <padding
    android:left="5dp"
    android:top="5dp"
    android:right="5dp"
    android:bottom="5dp"/>
  <stroke
    android:width="2dp"
    android:color="#000000"/>
</shape>

横屏显示:

方式1:在AndroidManifestxml清单文件中对需要横屏显示的Activity添加 android:screenOrientation="landscape" 属性

方式2:在代码中进行判断:

if(getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)

{

  setRequestedOrientation(ActivityInfo.ORIENTATION_LANDSCAPE);

}

相对布局(RelativeLayout)中的常用属性:

android:layout_centerHorizontal------设置组件是否在父容器中水平居中

android:layout_centerVertical

android:layout_centerInParent--------设置组件是否在父容器中正中央位置

android:layout_alignParentTop-------------设置组件是否与父容器的顶端对齐

android:layout_alignParentBottom

android:layout_alignParentLeft

android:layout_alignParentRight

android:layout_alignTop-------------------指定该组件位于给定的ID的控件的上方

android:layout_alignBottom

android:layout_alignLeft

android:layout_alignRight

android:layout_toRightOf------------------指定该组件位于给定的ID的控件的右侧

android:layout_toLeftOf

android:layout_above

android:layout_below

帧布局(FrameLayout):

在布局中每个控件独自占一帧或一层,该层中未包含内容的部分将是透明的。控件添加的顺序即层叠加的顺序,

后面添加的控件将会覆盖前面的控件。控件的位置可以通过android:layout_grabity 的属性来设置。通过层布局能

够很方便地实现多个控件叠加或渐变的效果

关于定时器Timer:

定时器创建的线程属于子线程,不能对UI进行直接操作。Android中界面操作是非线程安全的,即当多个线程对

其进行操作时结可能不一致。为了避免出现这种情况,Android中规定,所有的UI操作只能放在主线程中。

Handler 消息传递:

Handler可以为线程之间的通信提供消息传递,当Handler的发送消息成功时,将调用Handler类的

handleMessage(Message msg)方法;Handler类的主要方法有:

public void handleMessage(Message msg);//---获取并处理信息

public final boolean sendEmptyMessage(int what);//---发送一个只含有标志的消息

public final boolean hasMessage(int what);//---监测消息队列中是否含有标记的消息

public final boolean post(Runable r);----将一个线程添加到消息队列中

Message 类:

public Message();//---构造方法,推荐使用Message.Obtain();

public void copyFrom(Message msg);//---复制指定的内容

public long getWhen();//---获取消息发送的时间,单位为ms

public Bundle getData();//---获取消息中的数据

public static Message obtain();//---从消息池中获取一个消息

public void setData(Bundle data);//---向消息中写入数据

public void setTarget(Handler target).//---设置消息的目标对象

android 学习笔记(1)的更多相关文章

  1. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  2. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  3. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  6. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  7. Android学习笔记之Activity详解

    1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...

  8. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  9. 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...

  10. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

随机推荐

  1. [译]AngularJS 1.3.0 开发者指南(一) -- 介绍

    [译]AngularJS 1.3.0 开发者指南(一) -- 介绍 Angular是什么 ? AngularJS是一款针对动态web应用的结构框架. 它可以让像使用模板语言使用HTML, 并且可以扩展 ...

  2. Linux下软件设成系统服务运行

    将软件的启动脚本copy到/etc/init.d/soft_name             chmod 777 soft_name   设置服务开机启动   chkconfig soft_name ...

  3. Android 增量更新

    title: Android NDK之增量更新 1.增量更新使用到的库bsdiff和bzip2 bsdiff库是一个开源的二进制差分工具,通过对比Apk的二进制,从而进行差分包的生成. bsdiff库 ...

  4. 每天一个Linux命令(14)--head命令

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然的就是查看档案的结尾啦. 1.命令格式: h ...

  5. 转:Apache 与 Nginx 比较

    Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apa ...

  6. 使用PHP生成二维码(PHPQRCode)

    关于什么是二维码,可以阅读 http://baike.baidu.com/view/132241.htm 这里就不多讲了,二维码的应用非常广泛,似乎一夜之间渗透到我们生活的方方面面,地铁广告.报纸.火 ...

  7. ios的300ms点击延时问题

    一.什么是ios的300ms点击延时问题 ios的移动端页面对点击事件有300ms延时. 二.为什么存在这个问题 这要追溯至 2007 年初.苹果公司在发布首款 iPhone 前夕,遇到一个问题 —— ...

  8. “幸福企业”定义-参观“MES项目”有感

    作为公司的员工,总是想在一个自己满意的企业里面发展.作为企业主,虽不能天天将“回报社会”挂在嘴上,但凡是有抱负的,还是希望自己的部下“以厂为家的”.然而劳资双方的矛盾总是让双方感觉互有亏欠.这种不信任 ...

  9. Linux服务器下Java环境搭建

    前言: 在centOS下,像阿里云等都预先设置了jdk,不过不是SUN的java JDK,一般情况要重新装jdk,而且一般情况下自己装的Jdk相对来说易控制版本,稳定性更高.所以以下是我卸载预装jdk ...

  10. Nginx+IIS+Redis 处理Session共享问题 2

    接下来主要说下利用nginx来测试 两台Windows server 1.10.120.131.210 -  端口84部署demo 2.10.120.131.211 -  端口84部署demo ngi ...