Android 布局

@+id/name   其中+表示将此id写入到R.java中

每创建一个activity必须在manifest中注册

RelativeLayout用到的一些重要的属性: 

第一类:属性值为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” 
    android:layout_below         在某元素的下方 
    android:layout_above         在某元素的的上方 
    android:layout_toLeftOf      在某元素的左边 
    android:layout_toRightOf       在某元素的右边 

    android:layout_alignBaseLine    id基线对齐,如字底端

    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           离某元素上边缘的距离 

不能再RelativeLayout中产生循环依赖,如不能将RelativeLayout高设置成WRAP_CONTENT时,将子元素的高设置成ALIGN_PARENT_BOTTOM

FrameLayout

帧布局在屏幕上开辟出了一块区域,在这块区域中可以添加多个子控件,但是所有的子控件都被对齐到屏幕的左上角。帧布局的大小由子控件中尺寸最大的那个子控件来决定。如果子控件一样大,同一时刻只能看到最上面的子控件

android:foreground setForeground(Drawable)  设置绘制在所有子控件之上的内容 

android:foregroundGravity setForegroundGravity(int)  设置绘制在所有子控件之上内容的gravity 属性 


EditText

android:hint设置EditText为空时输入框内的提示信息。  

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

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

android:gravity用于设置View组件的对齐方式(内容)

android:layout_gravity用于设置container组件的对齐方式(控件)

android:layout_alignParentRight 使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。 

android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别: 

CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 

CENTER_CROP / centerCrop     按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽) 

CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽 

FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示 

FIT_END / fitEnd               把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置 

FIT_START / fitStart         把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置 

FIT_XY / fitXY                    把图片 不按比例 扩大/缩小到View的大小显示 

MATRIX / matrix                用矩阵来绘制,动态缩小放大图片来显示。 

** 要注意一点,Drawable文件夹里面的图片命名是不能大写的

android:layout_weight  设置权重,很重要,尤其在显示多个内容时

AbsoluteLayout,就是绝对位置的布局;也可以叫做坐标布局,也就是指定元素的绝对位置(或者叫绝对坐标值)。这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。一般不推荐使用

FrameLayout 简称层布局,上一层会覆盖下一层,如堆栈

TableLayout  

TableLayout类以行和列的形式管理控件,每行为一个 TableRow对象,也可以为一个View

对象,当为View对象时,该View对象将跨越该行的所有列。在TableRow中可以添加子控

件,每添加一个子控件为一列。 

  Shrinkable,如果一个列被标识为 shrinkable,则该列的宽度可以进行收缩,以使表格

能够适应其父容器的大小。 

  Stretchable,如果一个列被标识为stretchable,则该列的宽度可以进行拉伸,以使填

满表格中空闲的空间。 

 Collapsed,如果一个列被标识为 collapsed ,则该列将会被隐藏。 

注意:一个列可以同时具有Shrinkable Stretchable 属性,在这种情况下,该列的宽

度将任意拉伸或收缩以适应父容器。 

<TableLayout>

<TableRow>

<EditText></EditText>

<EditText></EditText>

</TableRow>

<TableRow>

<EditText></EditText>

<EditText></EditText>

</TableRow>

</TableLayout>

表示两行两列的一个表格。

android:gravity="center" 书面解释是权重比。其时就是让它居中显示。它还可以动态添加里面的每行每列。

1、全局属性也即列属性

android:collapseColumns  设置要隐藏的列.列号从0开始计算

android:shrinkColumns     设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。
android:stretchColumns    设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。
2、单元格属性

android:layout_column    指定该单元格在第几列显示

android:layout_span        指定该单元格占据的列数(未指定时,为1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值