zoukankan      html  css  js  c++  java
  • android 学习笔记(1)

      内容来源:高成珍、钟元生《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).//---设置消息的目标对象

  • 相关阅读:
    mac下xcode中include path
    如何联机调试和发布程序
    Facebook 错误码
    app store给应用评分功能
    FTP传输模式
    重新安装 Visual Studio 6.0 的问题
    ASP项目:提示用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败
    投资项目的4P
    .net 的资源与本地化
    千万不能干的事(文摘)
  • 原文地址:https://www.cnblogs.com/laishenghao/p/5067185.html
Copyright © 2011-2022 走看看