Android:week 4总结 Android布局二

目录

 

 

1.RelativeLayout实现计算器的另一种用法

2.表格布局(TableLayout) 


 

 

1.RelativeLayout实现计算器的另一种用法

用传统的RelativeLayout实现会出现行尾留出大量的空白。使一行填满有下面两种方法:

<!-- 使一行填满的方法 --> 
<!-- 1.自定义大小进行填充 --> 
<!-- 2.以中心点为参照 左右展开 -->
<!-- 参照点,不占用宽度 水平垂直或centerParent-->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tool="http://schemas.android.com/tools"
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        tool:context=".MainActivity">
    <!--        参照点,不占用宽度  水平垂直或centerParent-->
    <Button
        android:id="@+id/bt10"
        android:layout_width="0sp"
        android:layout_height="0sp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true">
    </Button>
    <Button
        android:id="@+id/bt11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/bt10"
        android:layout_alignBottom="@+id/bt10"
        android:text="8"
        android:textSize="30sp">
    </Button>
    <Button
        android:id="@+id/bt12"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_alignBottom="@id/bt11"
        android:layout_toLeftOf="@id/bt11"
        android:text="7"
        android:textSize="30sp">
    </Button>
    <Button
        android:id="@+id/bt13"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/bt10"
        android:layout_alignBottom="@id/bt10"
        android:text="9"
        android:textSize="30sp">
    </Button>
    <Button
        android:id="@+id/bt14"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/bt13"
        android:layout_alignBottom="@id/bt23"
        android:layout_alignTop="@id/bt13"
        android:text="-"
        android:textSize="30sp">
    </Button>
<!--    使一行填满的方法   -->
<!--  1.自定义大小进行填充   -->
<!--  2.以中心点为参照 左右展开  -->

    <Button
        android:id="@+id/bt21"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/bt12"
        android:layout_alignLeft="@id/bt12"
        android:text="1"
        android:textSize="30sp">
    </Button>
    <Button
        android:id="@+id/bt22"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/bt21"
        android:layout_alignTop="@id/bt21"
        android:text="2"
        android:textSize="30sp">
    </Button>
    <Button
        android:id="@+id/bt23"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@id/bt22"
        android:layout_toRightOf="@id/bt22"
        android:text="3"
        android:textSize="30sp">
    </Button>
    <EditText
        android:layout_width="wrap_content"
        android:layout_height="100sp"
        android:layout_above="@id/bt12"
        android:layout_alignRight="@id/bt14"
        android:layout_alignLeft="@id/bt12"
        android:gravity="right|center_vertical"
        android:text="24242"
        android:textSize="50sp">
    </EditText>
</RelativeLayout>

2.表格布局(TableLayout) 

   该布局中的行由TableRow表示,有多少TableRow就有多少行,表列的个数由包含最多子元素的TableRow所决定。列的宽度也由最大元素决定。  比如,有两行,第一行有两个元素,第二行有三个元素,则表列的个数为3。

   TableRow不需要设置宽度和高度,它的宽度一定是match_parent,它的高度一定是wrap_content,它其中的控件的宽度和高度均为wrap_content。
   TableRow中的控件在哪一列由android:layout_column指定,该值从0开始,也可以一个元素跨多列,由android:layout_span指定跨列的个数。  只能跨列不能跨行。

属性名描述
android:collapseColumns指定列折叠起来,在界面上看不到该列
android:shrinkColumns当本列的定义总长度超出屏幕宽度时,指定列缩减跨度以适应屏幕
android:stretchColumns当本列的定义总长度不足屏幕宽度时,指定列拉伸以充满屏幕

<?xml version="1.0" encoding="utf-8"?>
<!-- 控件在哪个地方,第几个单元格  -->
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tool="http://schemas.android.com/tools"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:stretchColumns="0,3"

    tool:context=".MainActivity">
<!--  android:stretchColumns="*"  *:表示所有都可以被拉伸;也可以指定特定列被拉伸。  拉伸可以利用剩余空间 -->
<!-- 编号从0 开始-->
<!--  android:collapseColumns="2"  可隐藏的  -->
    <TableRow>
<!--        空的控件-->
        <TextView
            android:layout_width="wrap_content">
        </TextView>
        <Button
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="姓名: "
            android:textSize="30sp"
            android:background="#ffffff">
        </Button>
        <EditText
            android:layout_width="250sp"
            android:layout_height="wrap_content">
        </EditText>
        <TextView
            android:layout_width="wrap_content">
        </TextView>
    </TableRow>
    <TableRow>
        <TextView
            android:layout_width="wrap_content">
        </TextView>
        <Button
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="学号: "
            android:textSize="30sp"
            android:background="#ffffff">
        </Button>
        <EditText
            android:layout_width="250sp"
            android:layout_height="wrap_content">
        </EditText>
        <TextView
            android:layout_width="wrap_content">
        </TextView>
    </TableRow>
<!--    列的宽度由最大的决定  -->
    <TableRow>
        <TextView
            android:layout_width="wrap_content"
            android:layout_weight="1">
        </TextView>
        <Button
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:layout_width="0sp"
            android:text="修 改"
            android:textSize="30sp">
        </Button>
        <Button
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:layout_width="0sp"
            android:text="确 定"
            android:textSize="30sp">
        </Button>
        <TextView
            android:layout_weight="1"
            android:layout_width="wrap_content">
        </TextView>
    </TableRow>
</TableLayout>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值