Android界面布局以及Activity类的认识
刚学了安卓开发的一些入门,在了解了一些安卓软件的开发雏形,eclipce给程序员提供的一些文件后,大致了解安卓软件开发主要分布局,程序控制这两个方面。现在总结一些布局方面的知识。
布局方面的文件,放在开发软件工程目录下的res/layout,其中后缀为xml的文件就是布局文件了。Android的布局,既属布局,自然和网页html之类的书写类似,打上标签,标志好内容格式关键字自然成布局。
Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。在xml中第一个标签,用于整个窗体的总布局。
LinearLayout(线性布局),设置这个布局模式,再设置android:orientation="vertical"则该布局中下属的内容都按垂直排布,也可
以在该方向上设置子块,让其为android:orientation="horizontal",这样就可以让子块下属内容水平排布了(但上一级的排布还是垂直的)。
FrameLayout(单帧布局),子元素都不能指定放置,它们全部都放在这个界面的左上角,前一个被后一个所覆盖。
AbsoluteLayout(绝对布局),在这个布局中android:layout_x和android:layout_y属性生效,这样就和单帧布局差不多,只是这个布局可以让子元素可以指定放置。
RelativeLayout(相对布局),是最灵活的一种布局结构,比较适合一些复杂界面的布局。在这个布局下,可以在eclipce的手机模拟界面上直接把组件拉到界面上放置,比较方便,但是顾名思义,相对布局,移动一个组件由于相对关系就会牵连到其他组件一起移动。
TableLayout(表格布局),顾名思义,此布局为表格布局,适用于N行N列的布局格式。一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行。
下面是一些基本组件的布置的基本属性:
android:layout_width="wrap_content"和android:layout_height="match_parent",设置元素的长和宽,关键字中wrap_content
为与内容长度相匹配,match_parent,为与父容器相匹配。
android:text="@string/text_sth",这个用于设置按钮,文本窗等的文本内容,@string/text_sth是用于在string.sxml中把以text_sth为名的变量附上内容,用来显示在组件上。
android:id="@+id/TextView",用于在gen目录最底层的R.java文件添加组件ID,这样可以在别的地方也能通过ID索引到这个组件。
android:onClick="second",功能和按钮监听器类似,可以在组件属性上添加这一个,这样就可以不用在代码处通过索引该按钮然后再添加监听器,直接在这里添加,然后在代码处写出second()方法就是点击该按钮时调用的方法。
在src下的代码,每一个activity都可以关联一个布局文件xml,当程序从一个activity跳转到另一个时,相应的界面就会显示出对应的
布局。
Activity是安卓的四大组件之一,它负责用户交互,它可以对输入,触摸等事件进行监听和响应。Activity作为一个重要组件,需要了解它的生命周期中的每个状态变化时的先后,以及发生的情况。刚刚创建或继承Activity类时,有个很重要的方法onCreat,显然这个方法就是界面产生的时候调用的,此外还有(onCreat)->onStart->onResume,到了这里,Activity就已经运行起来了,当切换界面之类的操作时候就会调用onPause->onStop->onDestroy到这,这个Activity就被完全关闭了。了解详细的该类生命过程,就可以在相应的情况处理预先设想的事情了。
写着写着就成了胡哥说的灌水类文章,但是感觉关于布局方面,是1就不是2,没有编程的灵活,算法的钻研。自己改了这个关键字就是另一个布局,除了累积,也没别的意思了吧。。。