Android开发笔记----界面布局及在布局上动态地增加删除子元素

来源:互联网 发布:c语言九九乘法表代码 编辑:程序博客网 时间:2024/05/17 07:12

1.relativelyLayout布局

这是一个相对布局,既可以跟父级的容器相对,也可以跟子元素相对。

跟子元素想对的时候,则如果子元素移动,该元素也会移动,相对位置不变。

一定要注意绝对不能将两个部件互相相对位置,否则会有exception出现。

2.frameLayout布局

这个布局所有的元素,始终在布局的左上角,不管插入多少个元素,都会在suoshangjia左上角出现。

运行效率较高,如果你的子元素不需要移动,这个比较好。

activity在创建的时候,自动生成一个根布局,即为FrameLayout(帧布局),以后建立的xml文件的布局,都加入到其中。但是一般不涉及到在它上面更改元素。

 

3.linearLayout布局、

子元素会按照水平或垂直一个一个排列在一起。

这个布局会有一个weight的概念,通过设置这个值,会形成一个比例,这几个子元素就是按这个比例去划分所有的水平或垂直的空间

4.tableLayout布局

就是水平线性和垂直线性的组合,应用的时候可能需要添加子容器,但是比较简单容易。


动态地增加子元素

我们首先先声明一个button类型的对象,这就是c++和Java的区别,Java声明和定义可以是两步而且全是动态地生成对象,且有回收机制,之后我们在通过findviewbyid方法使得父类的容器能够和一个layout对象想联系,之后我们只需要在layout中加入button即可,同时还可以用方法来调整button的大小及位置

btn=new Button(this);
btn.setText("第"+i+"个按钮");
b_layout.addView(btn,-2,-2);


动态地删除子元素

我们只需要加一个listener就好,一旦执行这个监听器我们只要,调用父类容器的方法remove()即可。加监听器的方法有很多,删除也可以随便删,我们这里就是点那个按钮就删除那个按钮了

private OnClickListener listener =new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
b_layout.removeView(v);
}
};


<XXXXX></XXXXX>中间可以插入孩子

如果不需要子元素,则可以直接简单地写成<XXXXX/>


常用属性简介:

android:width/height=""确定大小

match_parent或fill_parent就是和父类元素一样大的

wrap_content自适应,选择一个较好地大小适应内容。

按比例放占有空间:

XXXdp控制控件的大小

XXXsp控制文字的大小

android:background=""设置颜色

#XXXXXXX6个16进制的数.

不同控件之间加入空隙:

marginTop:是用来控制自己与别的控件之间的空隙。

padding:是用来控制自己内部各个子元素之间的空间大小的问题。


0 0
原创粉丝点击