返回顶部
首页 > 资讯 > 移动开发 >Android基础知识及线性布局介绍
  • 602
分享到

Android基础知识及线性布局介绍

2024-04-02 19:04:59 602人浏览 独家记忆
摘要

目录1.常见控件的基本属性1.1控件的可见性1.2控件的外边距1.3控件的内边距2.线性布局(Linear Layout)2.1示例:2.2微信界面实战3.总结1.常见控件的基本属性

1.常见控件的基本属性

Android:id="@+id/button1":【设置控件id】

android:layout_width【设置控件宽度】/android:layout_height【设置控件高度】

wrap_content【控件的大小由内部决定】

match_parent【控件的大小与父控件保持一致】

android:text=" ":【设置组件文本】

android:textColor=" ":【设置字体颜色】

android:layout_marginLeft:【当前布局与父布局左边缘的距离】

android:layout_marginRight:【当前布局与父布局右边缘的距离】

android:layout_marginTop:【当前布局与父布局顶部边缘的距离】

android:layout_marginBottom:【当前布局与父布局底部边缘的距离】

android:gravity :【view里面的内容在这个view中的位置】

android:layout_gravity :【这个view相对于它父view的位置】

1、gravity在线性布局中不起任何作用,layout_gravity在线性布局中起作用;
2、 当我们使用 android:orientation=“vertical” 时, android:layout_gravity只有水平方向的设置才起作用,
垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的;
3、当 我们使用android:orientation=“horizontal” 时, android:layout_gravity只有垂直方向的设置才起作用,
水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

1.1控件的可见性

该属性有三种状态值:Gone、visible、invisible。

gone 与invisible的区别是:
gone 表示控件不可见,也不会占任何的位置,也不会有任何响应。
而invisible表示控件虽然不可见,但是会占据它的宽高位置。

例子:

<LinearLayout
      android:id="@+id/linearLayout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toTopOf="parent">

      <Button
          android:id="@+id/button1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="button1">

      </Button>

      <Button
          android:id="@+id/button2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:visibility="invisible"      //invisible表示控件虽然不可见,但是会占据它的宽高位置。
          android:text="button2">
      </Button>

      <Button
          android:id="@+id/button3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"

          android:text="button3"></Button>

  </LinearLayout>

效果如图:

在这里插入图片描述

例子:

<LinearLayout
      android:id="@+id/linearLayout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toTopOf="parent">

      <Button
          android:id="@+id/button1"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="button1">

      </Button>

      <Button
          android:id="@+id/button2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:visibility="gone"     //gone 表示控件不可见,也不会占任何的位置,也不会有任何响应。
          android:text="button2">
      </Button>

      <Button
          android:id="@+id/button3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="button3">

      </Button>

  </LinearLayout>

效果如图:

在这里插入图片描述

1.2控件的外边距

学习html的都会知道CSS里的盒模式有个外边距和内边距。
外边距可以设置视图距离父视图上下左右的距离。
内边距可以设置视图内部内容距离自己边框上下左右的距离。
Android 的控件布局其实也用的是这个盒模式。

如果距离父视图上下左右的外边距相同,可以这么设置:

android:layout_margin="10dp"

我们也可以单独的设置某个外边距:

android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"

1.3控件的内边距

统一设置上下左右内边距:

android:padding="5dp"

各自设置内边距:

android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"

2.线性布局(Linear Layout)

LinearLayout 核心属性:
​ (1) android:orientation:两个属性值:“vertical” 垂直 “horizontal”水平
​ (2) android:layout_weight 将父控件的剩余空间按照设置的权重比例再分配

2.1示例:

在这里插入图片描述

<LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text="button1">

        </Button>

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:text="button2">
        </Button>

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text="button3">

        </Button>

    </LinearLayout>

2.2微信界面实战

在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="×"
        android:textSize="50dp"
        android:layout_marginLeft="5dp"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="5dp"
        android:text="微信号/QQ/邮箱登录"
        android:textColor="@color/black"
        android:textSize="30dp"/>


<!--第一个框架-->


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_marginTop="6dp"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="25dp"
                android:text="账号"
                android:textColor="@color/black"
                android:textSize="25dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0">
            <EditText
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="请填写微信号/QQ号/邮箱                  "/>
        </LinearLayout>

    </LinearLayout>

<!--第二个框架-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_marginTop="10dp"
        android:orientation="horizontal">
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="25dp"
                android:text="密码"
                android:textColor="@color/black"
                android:textSize="25dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0">
        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="请填写密码                                          "/>

        </LinearLayout>

    </LinearLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用手机号登录"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="25dp"
            android:textSize="20dp"
            android:textColor="@color/purple_500"/>

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录"
        android:textSize="30dp"
        android:layout_marginTop="30dp"
        />
<!--    第三个框架-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="150dp"
        android:orientation="horizontal">

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

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="找回密码"
                android:layout_marginLeft="80dp"
                android:textColor="@color/purple_500"
                android:textSize="15dp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="122dp"
            android:layout_height="wrap_content"
            android:layout_weight="7">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="紧急冻结"
                android:layout_marginLeft="40dp"
                android:textColor="@color/purple_500"
                android:textSize="15dp" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="70">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="微信安全中心"
                android:textColor="@color/purple_500"/>
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

3.总结

到此这篇关于Android基础知识及线性布局介绍的文章就介绍到这了,更多相关Android线性布局内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Android基础知识及线性布局介绍

本文链接: https://lsjlt.com/news/162497.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android基础知识及线性布局介绍
    目录1.常见控件的基本属性1.1控件的可见性1.2控件的外边距1.3控件的内边距2.线性布局(Linear Layout)2.1示例:2.2微信界面实战3.总结1.常见控件的基本属性...
    99+
    2024-04-02
  • Android基础知识及线性布局的示例分析
    这篇文章主要介绍Android基础知识及线性布局的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.常见控件的基本属性android:id="@+id/button1":【设置控件id】a...
    99+
    2023-06-26
  • Android布局基础知识
    布局 布局的创建 UI(User Interface)界面是人与手机之间数据传递的、信息交互的重要媒介和对话窗口,是Android系统的重要组成...
    99+
    2022-06-06
    android布局 Android
  • ES6基础知识介绍
    目录一、ECMAScript和JavaScript关系二、let命令三、const命令四、变量的解构赋值1、数组的解构赋值2、对象的解构赋值一、ECMAScript和JavaScri...
    99+
    2024-04-02
  • PHP基础知识介绍
    php中的整形数是有符号的,不能表示无符号整数,当整形数超出范围时,会自动从整形数转化成float数,可以用php_int_size常量来查看php整数类型所占字节,一般为4个字节,...
    99+
    2022-11-15
    PHP 基础知识
  • AndroidStudio基础线性布局
    目录 继承关系图  常用属性 1、创建安卓应用 3、字符串资源文件 启动应用,查看效果 5、设置布局属性,查看效果 (4)设置线性布局背景 1、创建安卓应用 2、准备图片素材 3、主布局资源文件 线性布局(LinearLayout)是一...
    99+
    2023-09-30
    android studio android
  • 基础知识:编程语言介绍、Python介绍
    2018年3月19日 今日学习内容: 1、编程语言的介绍 2、Python介绍 3、安装Python解释器(多版本共存) 4、运行Python解释器程序两种方式。(交互式与命令行式)(♥♥♥♥♥) 5、变量(♥♥♥♥♥) 6、数据类型的基...
    99+
    2023-01-31
    基础知识 编程语言 Python
  • Android 基础知识4-2.10 GridLayout(网格布局)详解
    一、GridLayout(网格布局)概述         GridLayout 布局是 Android 4.0 以后引入的新布局,和 TableLayout(表格布局) 有点类似,不过它功能更多,也更加好用,最大的特点是放置的组件自动占据网...
    99+
    2023-09-02
    android android studio 学习
  • sql注入基础知识的介绍
    本篇内容介绍了“sql注入基础知识的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是SQL注入(S...
    99+
    2024-04-02
  • Go语言基础知识点介绍
    Go 语言教程 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thom...
    99+
    2024-04-02
  • C# 最基础知识介绍--多态
    目录一、C# 多态性二、静态多态性三、函数重载四、C# 运算符重载1、运算符重载的实现 2、可重载和不可重载运算符五、动态多态性前言:👻🎄 学过编程...
    99+
    2024-04-02
  • 【基础知识】tiff格式图片介绍及读取
    文章目录 一、什么是tiff格式二、tiff的组成1.图像文件头(IFH)2.图像文件目录(IFD)3.目录项(DE)4.图像数据实例分析 三、tiff与jpg格式的区别四、如何读取tif...
    99+
    2023-09-28
    python 图像处理
  • 一些有关MySQL基础知识介绍
    本文主要给大家介绍 一些有关MySQL基础知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下 一些有关MySQL基础知识吧。&n...
    99+
    2024-04-02
  • CSS的布局基础知识点有哪些
    本篇内容介绍了“CSS的布局基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!常见布局种类一列布局自上而下的,一般头部进行固定宽...
    99+
    2023-06-27
  • Linux信号机制的基础知识介绍
    本篇内容介绍了“Linux信号机制的基础知识介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Linux进程基础一文中已经提到,Linux以...
    99+
    2023-06-13
  • Python 函数编程的基础知识介绍
    函数基础知识掌握自定义函数的基本语法规范和调用方法及掌握函数的各种参数的使用及调用规则。1、Python函数函数( Function )是组织好的,可重复使用的,用来实现单一, 或相关联功能的代码段。函数能提高应用的模块性 ,和代码的重复利...
    99+
    2023-05-14
    Python 函数编程 自定义函数
  • JavaSwing基础之Layout布局相关知识详解
    目录一、View layout方法二、ViewGroup layout方法三、自定义垂直布局VerticalLayout四、效果展示一、View layout方法 首先,还是从Vie...
    99+
    2024-04-02
  • 简单介绍MySQL数据库的基础知识
    下文主要给大家带来MySQL数据库的基础知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据库的基础知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库1 、定义数据库,可以简单...
    99+
    2024-04-02
  • Android基础之常用控件属性介绍
    目录常用控件之常用属性控件可见性TextViewButtonEditTextImageViewProgressBarAlertDialogProgressDialogToastMen...
    99+
    2024-04-02
  • 什么是Shell?Shell脚本基础知识详细介绍
    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和...
    99+
    2022-06-04
    详细介绍 基础知识 脚本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作