• 转:android相对布局


    android相对布局

    Activity布局初步 - 相对布局 
    1、 相对布局的基本概念 
    一个控件的位置它决定于它和其他控件的关系,好处:比较灵活;缺点:掌握比较复杂。 
    2、 相对布局常用属性介绍 
    这里将这些属性分成4个组,便于理解和记忆。 
    a)、以下4个属性设置控件与之间的关系和位置 



    但是上面4个属性并没有设置各个控件之间是否对齐。 
    示例1:将控件A放置在控件B的上面,则使用android:layout_above属性,控件布局的效果可以有以下这么两种情况。 
    1、 控件A与控件B对齐,并且控件A是在控件B的上面。 
    2、 控件A没有与控件B对齐,但是控件A又确实是在控件B的上面。 



    b)、以下5个属性,设置的是控件与控件之间对齐的方式(是顶部、底部还是左、右对齐)。 



    示例2:在示例1的基础上,设置控件A放置在控件B的上面,使用android:layout_above属性,并且控件A的左边边缘与控件B的左边边缘对齐,使用android:layout_alignLeft属性。 



    c)、以下4个属性设置控件与父控件之间对齐的方式(是顶部、底部还是左、右对齐)。 



    d)、以下4个属性设置控件的方向。 



    可以通过组合这些属性来实现各种各样的布局。 
    注:以上属性和其他更多属性的作用都能在android的帮助文档中找到; 

    示例3:假如要实现一个如下图这样布局的程序 


    如果这样的布局要使用LinearLayout的话会比较麻烦和复杂, 
    1、 首先需要一个垂直布局方向的LinearLayout,包裹所有的控件; 
    2、 然后在第一个LinearLayout中嵌套一个垂直方向的LinearLayout,放在上部分,在这个LinearLayout中放入一个TextView和EditText; 
    3、 最后还是在第一个LinearLayout中嵌套一个水平方向的LinearLayout,放在第一个LinearLayout的下部分,在这个LinearLayout中放入两个Button,并且还得让它们居右。 
    可参考下图: 



    如果使用RelativeLayout会要简单很多,下面为main.xml的代码。 

    Java代码 
      1. <?xml version="1.0" encoding="utf-8"?>  
      2.   
      3. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
      4.     android:layout_width="fill_parent"  
      5.     android:layout_height="wrap_content"  
      6.     android:padding="10px"  
      7.     >  
      8.     <TextView  
      9.         android:id="@+id/lable"  
      10.         android:text="Type here:"  
      11.         android:layout_width="fill_parent"  
      12.         android:layout_height="wrap_content"  
      13.     />  
      14.       
      15.     <EditText  
      16.         android:id="@+id/entry"  
      17.         android:layout_width="fill_parent"  
      18.         android:layout_height="wrap_content"  
      19.         android:background="@android:drawable/editbox_background"  
      20.         android:layout_below="@id/lable"  
      21.     />  
      22.       
      23.     <Button  
      24.         android:id="@+id/ok"  
      25.         android:layout_width="wrap_content"  
      26.         android:layout_height="wrap_content"  
      27.         android:text="OK"  
      28.         android:layout_below="@id/entry"  
      29.         android:layout_marginLeft="10px"  
      30.         android:layout_alignParentRight="true"  
      31.     />  
      32.       
      33.     <Button  
      34.         android:id="@+id/cancel"  
      35.         android:layout_width="wrap_content"  
      36.         android:layout_height="wrap_content"  
      37.         android:layout_toLeftOf="@id/ok"  
      38.         android:layout_alignTop="@id/ok"  
      39.         android:text="Cancel"  
      40.     />  
      41. </RelativeLayout> 
  • 相关阅读:
    云服务器
    发布一个Codesmith 模版,生成Linq 增删除改。看看有什么问题,请大家指点
    标记:今天终于搭建好了SharpDevelop的编译环境
    高效地根据属性名获取某对象的属性值
    如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)
    成功编译Chrome浏览器(编译Chromium)
    问题: 某厂部班组有6个人,每周每人都要上5天班,而且每人都要连续休息两天?
    istio Egress Gateway 统一流量出口
    前端笔记
    node: 将json转换ts
  • 原文地址:https://www.cnblogs.com/stephen-init/p/3516581.html
Copyright © 2020-2023  润新知