前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【Android从零单排系列二十九】《Android布局介绍——LinerLayout》

【Android从零单排系列二十九】《Android布局介绍——LinerLayout》

作者头像
再见孙悟空_
发布于 2023-07-17 12:30:30
发布于 2023-07-17 12:30:30
32000
代码可运行
举报
运行总次数:0
代码可运行

前言

小伙伴们,在前面的系列文章中,我们重点介绍了Android开发中用到的视图组件,从本文开始我们继续盘点Android中的布局,本文主要介绍一下LinerLayout。

一 LinerLayout基本介绍

LinearLayout(线性布局)是一种在Android中常用的布局管理器,用于在水平或垂直方向上排列子视图。它可以作为容器来包含其他视图组件,并根据指定的布局属性进行排列。

二 LinerLayout使用方法

XML布局文件中定义LinearLayout:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    
    <!-- 子视图元素 -->
    
</LinearLayout>

在上述代码中,我们创建了一个垂直方向的LinearLayout,并将其宽度设置为与父视图相匹配(match_parent),高度根据子视图自适应(wrap_content)。

添加子视图元素: 在LinearLayout标签内部添加其他视图组件作为其子元素,例如TextView、Button等。根据需要可以使用不同的布局参数来控制子视图的大小和对齐方式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, world!" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me" />
        
</LinearLayout>

在上述代码中,我们在LinearLayout中添加了一个TextView和一个Button作为子视图。

设置布局属性: 可以通过在每个子视图的布局参数中设置不同的属性来控制子视图在LinearLayout中的位置和大小,例如android:layout_weight属性可以用来设置子视图的权重,实现按比例分配剩余空间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:text="Hello, world!" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:text="Click Me" />
        
</LinearLayout>

在上述代码中,我们将TextView和Button的高度都设置为0dp,并使用android:layout_weight属性将剩余的空间按比例分配给它们。在这种情况下,Button的权重是TextView的两倍,所以Button会占据

以下是LinearLayout的特点和使用方法的总结:

  1. 方向:LinearLayout可以在水平方向(horizontal)或垂直方向(vertical)上排列子视图。
  2. 排列方式:子视图可以按照添加的顺序依次排列(默认),也可以根据权重(weight)或布局权重(layout_weight)进行分配空间和对齐。
  3. 布局属性:通过在子视图的布局参数中设置不同的权重、对齐方式和填充方式,可以灵活控制每个子视图在LinearLayout中的位置和大小。
  4. 嵌套:可以嵌套多个LinearLayout以实现更复杂的布局结构。
  5. 大小测量:LinearLayout会根据子视图的测量要求和布局参数来计算自身的大小和子视图的位置。

使用LinearLayout时,可以考虑以下几点:

  1. 在XML布局文件中使用<LinearLayout>标签来定义LinearLayout。
  2. 设置android:orientation属性为"horizontal"或"vertical"来指定水平或垂直布局。
  3. 可以使用android:layout_width和android:layout_height属性来设置LinearLayout的宽度和高度。
  4. 在LinearLayout中添加子视图(如Button、TextView等)作为其子元素,并使用布局参数(layout_width和layout_height等)设置每个子视图的大小和对齐方式。
  5. 可以使用android:layout_weight属性在LinearLayout中对子视图进行权重分配,实现灵活的空间占用和对齐。

三 LinerLayout常见属性及方法

方法:

  1. setOrientation(int orientation):设置LinearLayout的排列方向。
  2. addView(View view, ViewGroup.LayoutParams params):将子视图添加到LinearLayout中。
  3. setWeightSum(float weightSum):设置LinearLayout中权重的总和。
  4. setGravity(int gravity):设置LinearLayout内部子视图的对齐方式。
  5. setBaselineAligned(boolean aligned):设置是否按基线对齐子视图。
  6. setBaselineAlignedChildIndex(int index):设置按基线对齐时参考的子视图索引。
  7. setDividerDrawable(Drawable drawable):设置LinearLayout的分隔线Drawable。
  8. setShowDividers(int showDividers):设置是否显示分隔线以及显示的位置。
  9. setDividerPadding(int padding):设置分隔线的间距。

属性:

  1. android:orientation:设置LinearLayout的排列方向。
  2. android:layout_weight:设置子视图的权重。
  3. android:gravity:设置LinearLayout内部子视图的对齐方式。
  4. android:baselineAligned:设置是否按基线对齐子视图。
  5. android:baselineAlignedChildIndex:设置按基线对齐时参考的子视图索引。
  6. android:divider:设置LinearLayout的分隔线Drawable。
  7. android:showDividers:设置是否显示分隔线以及显示的位置。
  8. android:dividerPadding:设置分隔线的间距。

这些方法和属性可以用于灵活地控制LinearLayout布局的方向、对齐方式、权重分配等,以满足不同的布局需求。其中,方法可以通过编程方式进行设置,而属性可以在XML布局文件中进行设置。

四 LinerLayout简单案例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello, LinearLayout!"
        android:textSize="24sp"
        android:layout_gravity="center_horizontal"/>
        
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me!"
        android:layout_gravity="center_horizontal"/>

</LinearLayout>

上述代码创建了一个垂直方向的LinearLayout,其中包含两个子视图:一个TextView和一个Button。TextView用于显示文本内容,Button用于触发点击事件。

在LinearLayout中,android:layout_widthandroid:layout_height属性分别设置为match_parent,表示填充父容器的宽度和高度。android:orientation属性设置为vertical,表示子视图按垂直方向排列。

TextView和Button的布局参数(LayoutParams)使用默认值,即wrap_content,表示根据内容自适应宽度和高度。通过android:layout_gravity属性可以调整子视图在父容器内的对齐方式。

这个简单的LinearLayout案例展示了如何在垂直方向上排列文本和按钮,并通过android:layout_gravity属性实现水平居中对齐。

五 总结

使用LinearLayout可以实现简单的线性布局,适用于需要按照水平或垂直方向对子视图进行排列的场景。它的灵活性和易用性使得开发者能够快速构建各种布局样式。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Android开发学习笔记之一】5大布局方式详解
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件。 帧布局(FrameLayout):组件从屏幕左上方布局组件。 表格布局(TableLayout):按照行列方式布局组件。 相对布局(RelativeLayout):相对其它组件的布局方式。  绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。 1. 线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orien
Angel_Kitty
2018/04/09
8190
【Android开发学习笔记之一】5大布局方式详解
最简单最常用的LinearLayout线性布局
良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认为RelativeLayout相对布局,而在前面的示例学习中,我们只是简单利用了一下LinearLayout线性布局,那么接下来分别对齐进行详细学习。 一、认识LinearLayout 线性布局是Android中较为常用的布局方式,使用<LinearLayout>标签。线性布局主要有两种形式,一种是水平线性布局,一种是垂直线性布局。需要注意的是Android的线性布局不会换行,当组
分享达人秀
2018/02/02
3K0
最简单最常用的LinearLayout线性布局
Android开发之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动。给控件添加事件也有接口回调和委托代理的方式。今天这篇博客就总结一下Android中常用的基本控件以及布局方式。说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局。而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式。先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio。开始今天的正题, 虽然Android
lizelu
2018/01/11
1.8K0
Android开发之基本控件和详解四种布局方式
速读原著-Android应用开发入门教程(布局(Layout))
布局(Layout)是各个控件在屏幕上的位置关系,视图组的几个扩展类与布局相关。在 Android 中布局通常有以下几种不同的情况:
cwl_java
2020/02/13
8890
Android基础总结(3)——UI界面布局
  Android的UI设计有好几种界面程序编写方式。大体上可分为两大类:一类是利用可视化工具来进行,允许你进行拖拽控件来进行布局;还有一类是编写xml文档来进行布局。这两种方法可以相互转换。 1、常见的控件的使用方法 TextView Button:一般需要注册监听器来对点击按键的事件做出响应 EditText:允许用户在控件里输入和编辑内容,并可以在在程序中对这些内容进行处理。此外,可以使用android:hint属性来指定一段提示性的文本。 ImageView:展示图片的一个控件。通过android:
mukekeheart
2018/02/27
1.6K0
Android基础总结(3)——UI界面布局
Android布局详解
Android基本布局分别是:线性布局LinearLayout、相对布局RelativeLayout、帧布局FrameLayout、表格布局TableLayout、网格布局GridLayout。
全栈程序员站长
2022/09/05
1.6K0
【Android从零单排系列三十】《Android布局介绍——RelativeLayout》
小伙伴们,在上文中我们介绍了Android常见布局中的LinearLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,相对布局RelativeLayout。
再见孙悟空_
2023/07/17
6950
Android如何制作漂亮的自适布局的键盘
  最近做了个自定义键盘,但面对不同分辨率的机型其中数字键盘不能根据界面大小自已铺满,但又不能每种机型都做一套吧,所以要做成自适应,那这里主讲思路。   这里最上面的titlebar高度固定,下面输入的金额高度也固定(当然也可以自适应),主要是中间的数字键盘,高度和宽度需要自适应。   最常见的解决方案是用线性布局,自适应当然是按比例,但布局中无%的概念,那就要用到layout_weight了,该属性的作用是决定控件在其父布局中的显示权重(具体概念就不多说了)。   这里用一个LinearLayout 将
欢醉
2018/01/22
1.1K0
Android如何制作漂亮的自适布局的键盘
Android开发第三讲,布局管理器
通过上一讲,我们用 Android Studio 创建了一个简单的Android项目.并且成功运行.
IBinary
2020/09/01
8270
Android开发第三讲,布局管理器
android常用布局详解「建议收藏」
在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。Android中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。
全栈程序员站长
2022/09/05
2.1K0
android常用布局详解「建议收藏」
Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件
对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的。View是绘制在屏幕上能与用户进行交互的一个对象。而对于ViewGroup来说,则是一个用于存放其他View和ViewGroup对象的布局容器!
达达前端
2019/07/03
1.9K0
Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件
LinearLayout(线性布局)
要点: android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局 android:gravity="top"(buttom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal)控制布局中控件的对齐方式。如果是没有子控件的控件设置此属性,表示其内容的对齐方式,比如说TextVi
欢醉
2018/01/22
7730
LinearLayout(线性布局)
Android入门教程 | UI布局之LinearLayout 线性布局
LinearLayout 里面可以放置多个 view(这里称为子view,子项)。 子 view 可以是TextView,Button,或者是 LinearLayout,RelativeLayout 等等。 它们将会按顺序依次排布为一列或一行。 接下来介绍一些在 xml 中的设置。
Android_anzi
2021/11/25
1.1K0
详解Android布局中gravity与layout_gravity属性[通俗易懂]
在android布局中,我们经常会用到“重心”-gravity这个属性。但是gravity有不同的类型:
全栈程序员站长
2022/09/14
2.1K0
详解Android布局中gravity与layout_gravity属性[通俗易懂]
1.[Andriod]之Andriod布局 VS WinPhone布局
0.写在前面的话 近来被HTML+CSS的布局折腾的死去活来,眼巴巴的看着CSS3中的flex,grid等更便捷更高效的的布局方式无法在项目中应用,心里那叫一个窝火啊,去你妹的兼容性,,, 最近体验下Android开发,第一件事就是翻翻看安卓提供的布局方式方便不,因为笔者现在是做WP的,于是乎有了这篇比较两个平台提供的一些基础的布局方式的博文。 另外,安装完Android Studio后,在Android的SDK的目录下有一个docs的文件夹,这里面提供的有离线的官方文档。 Android应用在当前元素上的
blackheart
2018/01/19
1.3K0
1.[Andriod]之Andriod布局 VS WinPhone布局
【Android从零单排系列三十四】《Android布局介绍——ConstraintLayout》
小伙伴们,在上文中我们介绍了Android帧布局FrameLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,约束布局ConstraintLayout。
再见孙悟空_
2023/07/17
5410
【Android从零单排系列三十二】《Android布局介绍——AbsoluteLayout》
小伙伴们,在上文中我们介绍了Android布局TableLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,绝对布局AbsoluteLayout。
再见孙悟空_
2023/07/17
2340
【Android从零单排系列三十三】《Android布局介绍——FrameLayout》
小伙伴们,在上文中我们介绍了Android布局AbsoluteLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,帧布局FrameLayout。
再见孙悟空_
2023/07/17
5750
【Android从零单排系列二十六】《Android视图控件——ScrollView》
小伙伴们,在上文中我们介绍了Android视图组件RecyclerView,本文我们继续盘点,介绍一下视图控件的ScrollView。
再见孙悟空_
2023/07/17
5750
Android开发笔记(三十五)页面布局视图
布局视图有五类,分别是线性布局LinearLayout、相对布局RelativeLayout、框架布局FrameLayout、绝对布局AbsoluteLayout、表格布局TableLayout。其中最常用的是LinearLayout,它适用于包括简单布局在内的多数情况;其次常用的是RelativeLayout,它适用于一些复杂布局,主要是对相对位置要求较多的情况;再次就是FrameLayout,它一般用于需要叠加展示的场合,比如说给整个页面设置一个背景布局等等。AbsoluteLayout和TableLayout实际中很少用,基本不用关心。 另外还有纵向滚动视图ScrollView,以及横向滚动视图HorizontalScrollView,其作用顾名思义便是让它们的子视图可以在某个方向上滚动罢了。
aqi00
2019/01/18
6450
推荐阅读
相关推荐
【Android开发学习笔记之一】5大布局方式详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验