原创Android中应用界面布局总结

 学习过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.               public class ActivityLayOut extends Activity {   
  2.   
  3. @Override  
  4. protected void onCreate(Bundle savedInstanceState) {   
  5.  // TODO Auto-generated method stub   
  6.  super.onCreate(savedInstanceState);   
  7.  //自己构建新的layout   
  8.  LinearLayout layoutMain = new LinearLayout(this);   
  9.  //设置布局方式水平   
  10.  layoutMain.setOrientation(LinearLayout.HORIZONTAL);   
  11.  //将我们构建的layoutMain和此Activity进行关联   
  12.  setContentView(layoutMain);   
  13.  //等到一个LayoutInflater对象,这个对象可以对XML的布局文件进行解析,并且生成一个View   
  14.  LayoutInflater inflate = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);   
  15.     
  16.  //调用inflate()方法将left.xml进行解析,并且生成一个RelativeLayout布局   
  17.  RelativeLayout layoutLeft = (RelativeLayout)inflate.inflate(R.layout.layout_left, null);   
  18.  //调用inflate()方法将Right.xml进行解析,并且生成一个RelativeLayout布局   
  19.  RelativeLayout layoutRight = (RelativeLayout)inflate.inflate(R.layout.layout_right, null);   
  20.     
  21.  //生成一个适用的LayoutParams   
  22.  RelativeLayout.LayoutParams  relParam = new RelativeLayout.LayoutParams(   
  23.    RelativeLayout.LayoutParams.WRAP_CONTENT,   
  24.    RelativeLayout.LayoutParams.WRAP_CONTENT);   
  25.          //将layoutLeft添加到layoutMain当中,其中第一个参数是添加进去的View,   
  26.          //第二个事这个View的高度,第三个是View的宽度   
  27.    layoutMain.addView(layoutLeft,100,100);   
  28.    //将layoutRight添加到layoutMain当中,第二个参数就是一个RelativeLayout.LayoutParams   
  29.    layoutMain.addView(layoutRight,relParam);   
  30.     
  31. }  

 

 

 

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

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值