Android开发笔记----界面布局及在布局上动态地增加删除子元素
2015-08-06 11:33
429 查看
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:是用来控制自己内部各个子元素之间的空间大小的问题。
这是一个相对布局,既可以跟父级的容器相对,也可以跟子元素相对。
跟子元素想对的时候,则如果子元素移动,该元素也会移动,相对位置不变。
一定要注意绝对不能将两个部件互相相对位置,否则会有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:是用来控制自己内部各个子元素之间的空间大小的问题。
相关文章推荐
- Android获取手机经纬度(GPS、NetWork)封装工具类
- Android中padding的用法总结
- 我的Android进阶之旅------>Android关于Activity管理的一个简单封装
- android缓存框架ASimpleCache
- [Android效果]Android中实现闪屏的欢迎界面
- Android实现两次点击返回键提示退出
- android中Toast显示时间自定义使用
- Android Debug 笔记
- Activity launchMode,taskAffinity,Intent.Flag
- android包解包、打包、签名
- Android--Camera.addCallbackBuffer/setPreviewCallbackWithBuffer模式使用总结
- 针对android录影编写测试程序
- android 管理Bitmap的内存使用
- android RelativeLayout注意
- android图片处理
- Android开源库
- Android SQLite数据库创建和使用实战(一)
- (转)Android自定义View的实现方法,带你一步步深入了解View(四)
- Android Studio xml提示Line 1: PI must not start with xml (position:unknown @1:5) (Show)
- ArcGIS for Android实现地图加载、放大缩小及定位功能