Android-线性布局LinearLayout实现计算器布局

文章目录

    • 1 效果图
    • 2 实现思路
    • 3 全部代码

1 效果图

Android-线性布局LinearLayout实现计算器布局_第1张图片

2 实现思路

Android-线性布局LinearLayout实现计算器布局_第2张图片

显示运算算式部分是一个TextView,往下三排按钮分别使用LinearLayout,每个LinearLayout设置为android:orientation="horizontal",各包含4个按钮,为了让4个按钮水平等分宽度,将4个按钮的android:layout_weight属性设置为1,宽度设置为0dp,关键代码如下:

<Button
    android:layout_width="0dp"
    android:layout_height="80dp"
    android:layout_weight="1"
    android:text="1" />
Android-线性布局LinearLayout实现计算器布局_第3张图片

最下面的两排按钮要分为左右两个LinearLayout,将左边和右边的LinearLayout的android:orientation属性设为vertical,把两个LinearLayout的android:layout_weight设为3:1,关键代码如下:


<LinearLayout 
	android:orientation="horizontal" >
        
        <LinearLayout
		android:layout_weight="3"
		android:orientation="vertical" >
            
            <LinearLayout
			android:orientation="horizontal" >
            LinearLayout>
            
            <LinearLayout
			android:orientation="horizontal" >
            LinearLayout>
        LinearLayout>
		
        <LinearLayout
		android:layout_weight="1"
		android:orientation="vertical" >
        LinearLayout>
LinearLayout>

3 全部代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:orientation="horizontal" >
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_vertical|right"
            android:textSize="50sp"
            android:text="2+5=7" >
        TextView>
    LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="C"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="CE"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="%"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="÷"
            android:textSize="30sp"/>
    LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="7"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="8"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="9"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="×"
            android:textSize="30sp"/>
    LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="4"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="5"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="6"
            android:textSize="30sp"/>
        <Button
            android:layout_width="0dp"
            android:layout_height="80dp"
            android:layout_weight="1"
            android:text="-"
            android:textSize="30sp"/>
    LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3"
            android:orientation="vertical" >
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >
                <Button
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:text="1"
                    android:textSize="30sp"/>
                <Button
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:text="2"
                    android:textSize="30sp"/>
                <Button
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:text="3"
                    android:textSize="30sp"/>
            LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >
                <Button
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="2"
                    android:text="0"
                    android:textSize="30sp"/>
                <Button
                    android:layout_width="0dp"
                    android:layout_height="80dp"
                    android:layout_weight="1"
                    android:text="."
                    android:textSize="30sp"/>
            LinearLayout>
        LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >
            <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="="
                android:textSize="30sp"/>
        LinearLayout>

    LinearLayout>

LinearLayout>

你可能感兴趣的:(Android)