Android (线性、表格、网格、帧)布局小结

来源:互联网 发布:python 编码问题 编辑:程序博客网 时间:2024/04/28 13:09

什么是布局?

       就是显示界面上那些按钮 Button+imageButton,  输入框 edittext,  标题框 textview,  这类的,这些小窗口小功能是如何分布。

基本属性简介:
    1、android:layout_width="match_parent"  :  设定布局的宽度,放入组件内就是设定组件的宽度
          值:match_parent  匹配父(上一级组件)的属性,例如第一个布局,意思是说:布局的宽度与设配屏幕一样
           wrap_content 只适应文本,组件大小根据我的文本大小决定

    2、android:backgeround="#ff0000";  颜色设定
          值:颜色是#开头,剩下的六个字符由“三原色”(红、绿、蓝)组成,例如我现在要蓝色#0000ff

   3、android:paddingBottom="12dp"     布局内的下内边距设置
           值:dp是android的一个单位,和像素作用一样 

   4、android:orientation="vertical" :指定排列方式
         值:vertical(垂直)
         horizontal(水平)

   5、android:gravity="
right
"  :控制所有子控件在父容器中的位置
      android:layout_gravity="bottom" 控制子控件在布局内的位置

   6、android:layout_gravity=""   控制布局中的单个子控制位置
        此标签与父控件的值相反才有作用 ,例子:父布局是水平,子空间必须设定为竖行才能有效

   7、android:layout_weight="";     权重
        值:设置此标签在,布局所占比例
    
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"    android:layout_height="match_parent">        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="按钮1"            android:layout_weight="1"            />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="按钮2"            android:layout_gravity="clip_vertical|right"            /></LinearLayout>


LinearLayout(线性布局):

   此布局默认组件水平,从左至右摆放


表格布局(TableLayout):
 
   默认每个组件占一行
  

<TableRow> <!--此标签,表示为一行-->
<!--内部放入,需要在此行展示的组件-->
</TableRow>
  
<!--标签插入指定列-->
<TextView
               android:text="这是第一个Lay的第一行"
                android:layout_column="1" 插入某列
               />
<TextView>
<!--标签跨列-->
<TextView
   android:text="这是第一个Lay的第一行"           
   android:layout_span="2"  本元素跨几列
 />
<!--标签隐藏-->

<TableLayout
    android:collapseColumns="1"  某列隐藏
</TableLayout>
<!--标签拉伸-->

<TableLayout
android:stretchColumns="2" 某列拉伸
</TableLayout>
<!--标签收缩-->

<TableLayoutandroid:shrinkColumns="2" 某列收缩</TableLayout>


GridLayout网格布局(4.0):
   组件成网格样式分布,可指定某列跨行或者跨列


<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮1"
android:layout_rowSpan="2"       <!--跨行-->
android:layout_gravity="fill_vertical"
/>



<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_rowSpan="5" 设置网格有这些行
    android:columnCount="4"    这些列
    >
</GridLayout>


android:layout_columnSpan="2"   设定跨列

android:layout_rowSpan="2"      设定跨行


FrameLayout 桢布局

 内部组件能够实现叠加效果

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    >    <TextView        android:layout_gravity="center"        android:background="#FF0000"        android:layout_width="match_parent"        android:layout_height="300dp" />    <TextView        android:layout_gravity="center"        android:background="#FFA500"        android:layout_width="330dp"        android:layout_height="250dp" />    <TextView        android:layout_gravity="center"        android:background="#FFFF00"        android:layout_width="290dp"        android:layout_height="220dp" />    <TextView        android:layout_gravity="center"        android:background="#008000"        android:layout_width="260dp"        android:layout_height="190dp" />    <TextView        android:layout_gravity="center"        android:background="#E0FFFF"        android:layout_width="230dp"        android:layout_height="160dp" /></FrameLayout>

效果图:



   

阅读全文
0 0