Android入门第一天:一分钟了解基础——MainActivity,wrap_content,match_parent,layout_weight等等

1.生成一个空项目,项目文件如图所示

1.1了解项目结构以及里面的函数的具体功能

MainActivity是用来写主界面里面的公共能的,我们先不写项目,了解基础功能:
//加载一个布局
setContentView(R.layout.activity_main);
//找到我们关心的控件

layout是用来写页面的布局摆放的,初学还没有学习到五大布局,先是通过画出来的

画出后再点击test,就会形成你所画的界面的布局代码(里面的控件是从左边拖出来的):

其中了解Android布局基础知识:wrap_content,match_parent,layout_weight

match_parent:表示和自身内容一样的长度。
fill_parent:同上,过时
wrap_content:表示和自身内容一样的长度。

layout_weight:是布局文件的一个属性,它的值表示线性分割原本应有长度的权重,要和wrap_content和match_parent配合使用,不同情况列举如下:

加深:

wrap_content配合:先按照内容的多少去设定空间大小,然后按照权重的比例分配剩余控件。即当控件没有内容或内容未超出按照权重比例分配的空间时,就按照layout_weight设定的权重比例分配空间,当内容大小超过这样分配的空间时,控件就会扩张,其实就是按照wrap_content来占用空间了,剩下的空间仍然按照本段定理来分配。

match_parent配合:空间计算公式:空间大小=父容器大小+权重比例*剩余空间大小,比如两个同级控件A,B都是match_parent,A的layout_weight为1,B的layout_weight为2(总空间为1match_parent,所需空间为2match_parent,剩余空间为两者之差),空间A=1match_parent+1/(1+2)*(1match_parent-2match_parent)=2/3match_parent,同理,空间B=1/3match_parent。这个现象和正常情况有些相反,但是可以有效保证空间分配到的比例固定,不会被内容撑大。

和0dp配合:将layout_weight或者layout_height设为0dp,将直接按照layout_weight权重的比例分配空间,且不会被内容撑大。
 

android:id="@+id/editText2":其中@表示在R文件中加一个id,其后面是它具体的id值

1.2重新回来MainActivity

其中,我们所必须了解的基础属性是:

//通过我们刚才设置的id找到按钮
Button btn_call=findViewById(R.id.button);
//给按钮设置一个点击事件
btn_call.setOnClickListener(new MyClickListener());

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章