Android布局控件的继承关系

本文详细介绍了Android中常见的布局控件,包括线性布局、相对布局、帧布局、网格布局的属性和特点。线性布局支持水平和垂直方向,并可设置权重;相对布局能实现复杂的相对位置设置;帧布局采用层层叠加的方式;网格布局则允许指定行列及跨行跨列。同时,文章提及了布局的宽高、内边距、外边距和重力等基础属性的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用属性

宽高
android:layout_width=“30dp”/“match_parent”/“wrap_content”
android:layout_height=“30dp”
盒子模型
padding:内边距
margin:外边距
重力
gravity:center 上下左右(布局设置)
layout_gravity:居中 上下左右(组件设置)

线性布局

常用属性:
方向:orientation (horizontal水平 vertical垂直)
权重:配合宽,高(宽高其中一个用0dp)

相对布局

特点:
有两种相对关系:相对父容器(7个属性 3个居中center 4个对齐align)
相对兄弟容器控件(8个属性 4个位置layout 4个对齐align)

帧布局 FrameLayout

特点:层层叠加覆盖

网格布局 GridLayout

特点:指定行列
常用属性:
行数:android:rowCount=“6”
列数:android:columnCount=“4”
跨列数:layout_columnSpan=“2”
跨行数:layout_rowSpan=“2”
列权重:layout_columnWeight=“1”
行权重:layout_rowWeight=“1”

代码实现

// An highlighted block
<?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"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1.2">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="#4688BD"
            android:orientation="horizontal">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:src="@mipmap/t11" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="P2P活期账本"
                android:textColor="#fff"
                android:textSize="30dp"
                android:layout_marginLeft="50dp"/>


            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:src="@mipmap/t22"
                android:layout_marginLeft="60dp"/>

        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1.7"
        android:orientation="horizontal">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleType="fitXY"
            android:src="@mipmap/guang" />


    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1.2"
        android:orientation="horizontal">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tozi" />


        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="140dp"
            android:src="@mipmap/xiangmu" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="0.8">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@mipmap/changping"
            android:scaleType="fitXY"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1.2">

       <ImageView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:src="@mipmap/tp1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="星火钱包(星火X100)"
            android:textSize="18dp"
            android:layout_marginTop="15dp"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="昨日收益"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="待收总额"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1.2">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tp1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="星火钱包(星火X100)"
            android:textSize="18dp"
            android:layout_marginTop="15dp"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="昨日收益"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="待收总额"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1.2">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tp1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="星火钱包(星火X100)"
            android:textSize="18dp"
            android:layout_marginTop="15dp"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="昨日收益"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="待收总额"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1.2">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tp1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="星火钱包(星火X100)"
            android:textSize="18dp"
            android:layout_marginTop="15dp"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="昨日收益"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="待收总额"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"/>
        </LinearLayout>

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1.2"
        >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

        </LinearLayout>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tt1"
            android:layout_weight="1"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tt2"
            android:layout_weight="1"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tt3"
            android:layout_weight="1"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tt4"
            android:layout_weight="1"/>

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/tt5"
            android:layout_weight="1"/>

    </LinearLayout>

</LinearLayout>








<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/b1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="上"/>
    <Button
        android:id="@+id/b2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="下"/>
    <Button
        android:id="@+id/b3"
        android:layout_width="55dp"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:text="左"/>
    <Button
        android:id="@+id/b4"
        android:layout_width="55dp"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:text="右"/>

    <Button
        android:id="@+id/b11"
        android:layout_width="80dp"
        android:layout_height="40dp"
        android:layout_centerInParent="true"
        android:text="中间"/>

    <Button
        android:id="@+id/b22"
        android:layout_width="80dp"
        android:layout_height="40dp"
        android:layout_below="@id/b11"
        android:layout_centerInParent="true"
        android:text="下面"/>

    <Button
        android:id="@+id/b33"
        android:layout_width="80dp"
        android:layout_height="40dp"
        android:layout_above="@id/b11"
        android:layout_centerInParent="true"
        android:text="上面"/>
    <Button
        android:id="@+id/b44"
        android:layout_width="80dp"
        android:layout_height="40dp"
        android:layout_toLeftOf="@id/b11"
        android:layout_centerInParent="true"
        android:text="左面"/>
    <Button
        android:id="@+id/b55"
        android:layout_width="80dp"
        android:layout_height="40dp"
        android:layout_above="@id/b33"
        android:layout_centerInParent="true"
        android:layout_toRightOf="@id/b3"
        android:text="左上"
        />

</RelativeLayout>






<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Frame_lianxiActivity">

    <LinearLayout
        android:id="@+id/id1"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_gravity="center"
        android:background="#FF0000"
        android:orientation="horizontal"
        android:visibility="invisible">

    </LinearLayout>

    <LinearLayout
        android:id="@+id/id2"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:orientation="horizontal"
        android:layout_gravity="center"
        android:background="#00FF00"
        android:visibility="invisible">

    </LinearLayout>

    <LinearLayout
        android:id="@+id/id3"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:orientation="horizontal"
        android:layout_gravity="center"
        android:background="#0000FF"
        android:visibility="invisible">

    </LinearLayout>

    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="60dp"
        android:orientation="horizontal"
        android:layout_gravity="bottom"
        android:layout_marginLeft="33dp"
        android:layout_marginBottom="40dp">

        <Button
            android:id="@+id/but1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="上一页"
            android:layout_gravity="center"
            android:layout_marginLeft="60dp"
            android:onClick="d1"/>



        <Button
            android:id="@+id/but2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="下一页"
            android:layout_gravity="center"/>

    </LinearLayout>
</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">

    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_gravity="center"
        android:background="#FF0000"
        android:orientation="horizontal">

    </LinearLayout>

    <LinearLayout
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:orientation="horizontal"
        android:layout_gravity="center"
        android:background="#00FF00">

    </LinearLayout>

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:orientation="horizontal"
        android:layout_gravity="center"
        android:background="#0000FF">

    </LinearLayout>

    <LinearLayout
        android:layout_width="300dp"
        android:layout_height="60dp"
        android:orientation="horizontal"
        android:layout_gravity="bottom"
        android:layout_marginLeft="33dp"
        android:layout_marginBottom="40dp">

        <Button
            android:id="@+id/but1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="上一页"
            android:layout_gravity="center"
            android:layout_marginLeft="60dp"/>

        <Button
            android:id="@+id/but2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="下一页"
            android:layout_gravity="center"/>

    </LinearLayout>

</FrameLayout>



//JAVA代码
package com.example.tx.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class allActivity extends AppCompatActivity {

    Button btn1;
    Button btn2;
    Button btn3;
    Button btn4;
    Button btn5;

    LinearLayout linearLayout1;
    LinearLayout linearLayout2;
    LinearLayout linearLayout3;
    LinearLayout linearLayout4;

    TextView text1;

    ImageView imageView1;

    RadioButton radioButton1;
    RadioButton radioButton2;
    RadioButton radioButton3;
    RadioButton radioButton4;

    TextView textView01;
    TextView textView02;
    TextView textView03;
    TextView textView04;
    TextView textView05;
    TextView textView06;


    ImageView yejian;
    ImageView qiandao;
    ImageView touxiang;

    Button begin;
    TextView wenbenyu;
    ProgressBar jindutiao;
    StringBuffer stringBuffer = new StringBuffer();

    int sum = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all);

        wenbenyu = findViewById(R.id.dq);
        jindutiao = findViewById(R.id.jdt);

        linearLayout1 = findViewById(R.id.activityall);
        linearLayout2 = findViewById(R.id.activity02);
        linearLayout3 = findViewById(R.id.activity03);
        linearLayout4 = findViewById(R.id.activity04);

        text1 = findViewById(R.id.textddbh);
        imageView1 = findViewById(R.id.xiaoshi);
        imageView1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                linearLayout1.setVisibility(View.INVISIBLE);
            }
        });

        btn1 = findViewById(R.id.btn01);
        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "联系卖家", Toast.LENGTH_SHORT).show();
            }
        });
        btn2 = findViewById(R.id.btn02);
        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "拨打电话", Toast.LENGTH_SHORT).show();
            }
        });
        btn3 = findViewById(R.id.btnfz);
        btn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, text1.getText().toString(), Toast.LENGTH_SHORT).show();
            }
        });
        btn4 = findViewById(R.id.btnscdd);
        btn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "删除订单", Toast.LENGTH_SHORT).show();
            }
        });
        btn5 = findViewById(R.id.btnmlhq);
        btn5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "卖了换钱", Toast.LENGTH_SHORT).show();
            }
        });

        radioButton1 = findViewById(R.id.r01);
        radioButton1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                linearLayout1.setVisibility(View.VISIBLE);
                linearLayout2.setVisibility(View.GONE);
                linearLayout3.setVisibility(View.GONE);
                linearLayout4.setVisibility(View.GONE);
            }
        });

        radioButton2 = findViewById(R.id.r02);
        radioButton2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                linearLayout1.setVisibility(View.GONE);
                linearLayout2.setVisibility(View.VISIBLE);
                linearLayout3.setVisibility(View.GONE);
                linearLayout4.setVisibility(View.GONE);
            }
        });

        radioButton3 = findViewById(R.id.r03);
        radioButton3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                linearLayout1.setVisibility(View.GONE);
                linearLayout2.setVisibility(View.GONE);
                linearLayout3.setVisibility(View.VISIBLE);
                linearLayout4.setVisibility(View.GONE);
            }
        });

        radioButton4 = findViewById(R.id.r04);
        radioButton4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                linearLayout1.setVisibility(View.GONE);
                linearLayout2.setVisibility(View.GONE);
                linearLayout3.setVisibility(View.GONE);
                linearLayout4.setVisibility(View.VISIBLE);
            }
        });

        textView01 = findViewById(R.id.ling01);
        textView02 = findViewById(R.id.ling02);
        textView03 = findViewById(R.id.ling03);

        textView04 = findViewById(R.id.kydf);
        textView04.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "口语得分:"+textView01.getText().toString(), Toast.LENGTH_SHORT).show();
            }
        });
        textView05 = findViewById(R.id.ydps);
        textView05.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "阅读篇数:"+textView02.getText().toString(), Toast.LENGTH_SHORT).show();
            }
        });
        textView06 = findViewById(R.id.tlsc);
        textView06.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "听力时长:"+textView03.getText().toString(), Toast.LENGTH_SHORT).show();
            }
        });

        yejian = findViewById(R.id.yjms);
        yejian.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "夜间模式", Toast.LENGTH_SHORT).show();
            }
        });

        qiandao = findViewById(R.id.qd);
        qiandao.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "签到成功", Toast.LENGTH_SHORT).show();
            }
        });

        touxiang = findViewById(R.id.tu1);
        touxiang.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(allActivity.this, "编辑头像", Toast.LENGTH_SHORT).show();
            }
        });

        begin = findViewById(R.id.ksxz);
        begin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new LoadFile().start();
            }
        });
    }

    class LoadFile extends Thread{
        @Override
        public void run() {
            super.run();

            try {
                InputStream inputStream = getAssets().open("JiCheMeng.txt");
//                InputStreamReader inputStreamReade = new InputStreamReader(inputStream,"UTF-8");
//                BufferedReader bufferedReader = new BufferedReader(inputStreamReade);

                int maxlength = inputStream.available();
                jindutiao.setMax(maxlength);

                int len = 0;

                byte[] bytes = new byte[50];
                while((len = inputStream.read(bytes))!=-1){
                    String s = new String(bytes,0,len);
                    stringBuffer.append(s);
                    sum += len;
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    runOnUiThread(new Thread(){
                        @Override
                        public void run() {
                            super.run();
                            wenbenyu.setText(stringBuffer.toString());
                            jindutiao.setProgress(sum);
                        }
                    });

                }
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值