Android布局--相对布局,RTL,用代码实现布局

         

1.相对布局RelativeLayout:   

1、 相对布局的基本概念 :
一个控件的位置它决定于它和其他控件的关系,好处:比较灵活;缺点:掌握比较复杂。 
2、 相对布局常用属性介绍 :            

android:layout_marginTop="25dip" //顶部距离

android:gravity="left" //空间布局位置

android:layout_marginLeft="15dip //距离左边距

// 相对于给定ID控件
android:layout_above 将该控件的底部置于给定ID的控件之上;
android:layout_below 将该控件的底部置于给定ID的控件之下;
android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;
android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐;
android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;
android:layout_alignTop 将该控件的顶部边缘与给定ID的顶部边缘对齐;
android:layout_alignBottom 将该控件的底部边缘与给定ID的底部边缘对齐;
android:layout_alignLeft 将该控件的左边缘与给定ID的左边缘对齐;
android:layout_alignRight 将该控件的右边缘与给定ID的右边缘对齐;

// 相对于父组件
android:layout_alignParentTop 如果为true,将该控件的顶部与其父控件的顶部对齐;
android:layout_alignParentBottom 如果为true,将该控件的底部与其父控件的底部对齐;
android:layout_alignParentLeft 如果为true,将该控件的左部与其父控件的左部对齐;
android:layout_alignParentRight 如果为true,将该控件的右部与其父控件的右部对齐;

// 居中
android:layout_centerHorizontal 如果为true,将该控件的置于水平居中;
android:layout_centerVertical 如果为true,将该控件的置于垂直居中;
android:layout_centerInParent 如果为true,将该控件的置于父控件的中央;

// 指定移动像素
android:layout_marginTop 上偏移的值;
android:layout_marginBottom 下偏移的值;
android:layout_marginLeft   左偏移的值;
android:layout_marginRight   右偏移的值;


android:id --- 为控件指定相应的ID
android:text --- 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串
android:grivity --- 指定控件的基本位置,比如说居中,居右等位置这里指的是控件中的文本位置并不是控件本身。
android:textSize --- 指定控件当中字体的大小
android:background --- 指定该控件所使用的背景色,RGB命名法
android:width --- 指定控件的宽度
android:height --- 指定控件的高度
android:padding* --- 指定控件的内边距,也就是说控件当中的内容
android:sigleLine --- 如果设置为真的话,则控件的内容在同一行中进行显示


下边是相对布局属性的说明:RelativeLayout

android:layout_above 将该控件的底部至于给定ID控件之上

android:layout_below 将该控件的顶部至于给定ID的控件之下

android:layout_toLeftOf 将该控件的右边缘和给定ID的控件左边缘对齐
   android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐

android:layout_alignBaseline 该控件的baseline和给定ID的控件的baseline对齐
  android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘对齐
  android:layout_alignLeft 将该控件的左边缘与给定ID控件的左边缘对齐
  android:layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐
  android:layout_alignTop 将该控件的顶部边缘与给定ID控件的顶部对齐

android:alignParentBottom 如果该值为true,则将该控件的底部和父控件的底部对齐
  android:layout_alignParentLeft 如果该值为true,则将该控件左边与父控件的左边对齐
  android:layout_alignParentRight 如果该值为true,则将该控件的右边与父控件的右边对齐
  android:layout_alignParentTop 如果该值为true,则将该控件的顶部与父控件的顶部对齐

android:layout_centerHorizontal 如果为真,该控件将被至于水平方向的中央
  android:layout_centerInParent 如果为真,该控件将被至于父控件水平方向和垂直方向的中央
  android:layout_centerVertical 如果为真,该控件将被至于垂直方向的中央
 android:layout_marginLeft此属性用来设置控件之间的间隙(控件和控件之间和内边距不同)
 android:padding="3dip"说明了四边的内边距是3dip


代码:

Android布局--相对布局,RTL,用代码实现布局_第1张图片

Android布局--相对布局,RTL,用代码实现布局_第2张图片

Android布局--相对布局,RTL,用代码实现布局_第3张图片

案列如下:

Android布局--相对布局,RTL,用代码实现布局_第4张图片


第一类:属性值为true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物

第二类:属性值必须为id的引用名“@id/id-name”(id命名为:@+id/.....)
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边

android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

第三类:属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离


android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右

android:layout_gravity
android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"则button靠右


2.绝对布局AbsoluteLayout

 绝对布局已经过时了,因为它的布局空间太过于绝对有局限性,在不同分辨率的手机上会出现误差。


3.RTL(从右往左)

 Android4.2之后才能用,一般在阿拉伯语中使用,在中国很少使用。

属性有:

android:layout_marginStart--外间距

android:layoutDirectio=“rtl”--rtl布局

4.布局的包含:

就如web项目中一样jsp界面中引用jsp界面,也就是界面里面包含界面,代码如下:

  layout="@layout/界面名"
   >
  

5.用Java代码实现布局:

首先找到Java目录下的MainActivity.xml文件,然后在onCreate方法里面写代码即可

 //实例化一个linearlayout布局
     LinearLayout layout=new LinearLayout(this);

     //实例化按钮
     Button button=new Button(this);
      button.setText("我是一个小按钮");

   //把按钮放入布局上
    layout.addView(button);
//把布局放入手机
setContentView(layout);
然后就是连接模拟器:

点击AndroidStudio左下角的Android Monitor,如果出现空白的话就在桌面上建立一个文档,文档内容如下:

c:(模拟器安装路径)--找到自己的安装路径

cd C:\Users\Administrator\AppData\Roaming\Nox\bin(模拟器安装路径)
   nox_adb.exe connect 127.0.0.1:62001

文档命名为.bat,然后打开模拟器并双击文档等待Androidstudio里面加载完毕后点击下面图中的绿色播放键即可


如果你使用得是eclipse的话直接连接就可以了。



                                                                   

你可能感兴趣的:(Android)