学习过android系统的一些常用组件,一个完整的UI界面需要将这些组件按照一定的样式进行布局,然而这些就需要使用AndroidXML布局文件来完成了。但对于android的布局样式学员还是迷茫?现将Android中常用的布局框架列举如下,仅供学员参考学习。

1.LinearLayout:是一种Android中最常用的布局之一,它将自己包含的子元素按照一个方向进行布局排列。

方向有两种:水平(Android:orientation="horizontal")和竖直(Android:orientation="vertical")

2.FrameLayout:一个FrameLayout对象好比一块在屏幕上提前预定好的空白区域,然后可以填充一些元素到里边,比方说一张图片等。需要注意的是所有元素都被放置在FrameLayout区域的左上的区域,而且无法为这些元素指定一个确切的位置。如果有多个元素,则后边的会重叠在前一个元素上。

3.RelativeLayout:这是一个相对布局类,首先RelativeLayout是一个容器,这里边的元素,如Button按钮等的位置是按照相对位置来计算的。例如:两个按钮都在一个Relativelayout里边,我们可以定义第二个Button在第一个Button的上边或者右边。但到底第二个button在什么位置,它还是依赖于第一Button的位置。需要注意的是:出于性能上的考虑,对于相对布局的精确位置的计算只会执行一次,所以,如果一个可视化组件B依赖于A,那么必须要让A出现在B的之前。

4.TableLayout:是一种表格式的布局。这种布局会把包含的元素以行和列的形式进行排列。表格的列数为每一行的最大列数。当然表格里边的单元格是可以为空的。


5.LinearLayout和RelativeLayout互助使用:你需要建立两个.xml文件。 自己查询LayoutPamams和LayoutInflater的理解

Java代码

  1. publicclassActivityLayOutextendsActivity{
  2. @Override
  3. protectedvoidonCreate(BundlesavedInstanceState){
  4. //TODOAuto-generatedmethodstub
  5. super.onCreate(savedInstanceState);
  6. //自己构建新的layout
  7. LinearLayoutlayoutMain=newLinearLayout(this);
  8. //设置布局方式水平
  9. layoutMain.setOrientation(LinearLayout.HORIZONTAL);
  10. //将我们构建的layoutMain和此Activity进行关联
  11. setContentView(layoutMain);
  12. //等到一个LayoutInflater对象,这个对象可以对XML的布局文件进行解析,并且生成一个View
  13. LayoutInflaterinflate=(LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  14. //调用inflate()方法将left.xml进行解析,并且生成一个RelativeLayout布局
  15. RelativeLayoutlayoutLeft=(RelativeLayout)inflate.inflate(R.layout.layout_left,null);
  16. //调用inflate()方法将Right.xml进行解析,并且生成一个RelativeLayout布局
  17. RelativeLayoutlayoutRight=(RelativeLayout)inflate.inflate(R.layout.layout_right,null);
  18. //生成一个适用的LayoutParams
  19. RelativeLayout.LayoutParamsrelParam=newRelativeLayout.LayoutParams(
  20. RelativeLayout.LayoutParams.WRAP_CONTENT,
  21. RelativeLayout.LayoutParams.WRAP_CONTENT);
  22. //将layoutLeft添加到layoutMain当中,其中第一个参数是添加进去的View,
  23. //第二个事这个View的高度,第三个是View的宽度
  24. layoutMain.addView(layoutLeft,100,100);
  25. //将layoutRight添加到layoutMain当中,第二个参数就是一个RelativeLayout.LayoutParams
  26. layoutMain.addView(layoutRight,relParam);
  27. }

以上内容归本人原创,版权归本人所有不得随意转载,如有问题请发送邮件到redarmy_chen@qq.com

更多相关文章

  1. 如何在android 文件选择器中选择多个图片或者视频?
  2. Android(安卓)渗透测试学习手册 第四章 对 Android(安卓)设备进
  3. android TextView属性详解
  4. Android基于opencv进行图像识别并找出中心点和轮廓
  5. 【代码】android 通过GPS获取用户地理位置并监听位置变化
  6. Android下图片可拖动到任意位置的效果的实现源码
  7. 二之番外.Android六种布局详细讲解
  8. Android通过AudioFocus机制对音频焦点进行管理
  9. 如何在Android设备中用NDK编译SQLite并且对SQLite进行操作(增删)-H

随机推荐

  1. Mybatis中的连接池&&事务控制
  2. android 日常迭代与维护总结一
  3. Android清单文件中相关属性含义(Provider)
  4. 如何编写优雅的异步代码 — CompletableF
  5. Android使用SharedPreferences保存数组
  6. 用Android(安卓)Studio3.0新功能加快构建
  7. Android知识体系图
  8. ContentProvider总结
  9. Android实现气泡漂浮动画,类似IOS Game Ce
  10. STK解析--总框架