Android开发—布局LinearLayout,布局RelativeLayout常见属性根据父容器定位,兄弟组件定位,FrameLayout帧布局的绘制原理是,TableLayout

这篇具有很好参考价值的文章主要介绍了Android开发—布局LinearLayout,布局RelativeLayout常见属性根据父容器定位,兄弟组件定位,FrameLayout帧布局的绘制原理是,TableLayout。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.LinearLayout

1.常见属性

1. orientation  布局中组件的排列方式
2. gravity

 控制组件所包含的子元素的对齐方式,可多个组合

3. layout _ gravity  控制该组件在父容器里的对其方式
4. background  为该组件设置一个背景图片,或者是直接用颜色覆盖
5. divider  分割线
6. showDividers 设置分割线所在的位置, none (无), beginning (开始), end (结束), middle (每两个组件间)
7.dividerPadding 设置分割线的 padding 
8. layout _ weight  (权重)该属性是用来等比例的划分区域
android:orientation="vertical">
vertical表示纵向排列,horizontal表示横向排列
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:divider="@drawable/divider"
    android:showDividers="middle"
    android:dividerPadding="100dp"
    android:orientation="vertical"
    android:gravity="center_vertical">

其中divider ,showDivider, dividerPadding,三个参数为设置分割线的参数

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

1.1通过设置View也可以实现分割线的操作

<View
            android:background="#00ff00"
            android:layout_width="match_parent"
            android:layout_height="1dp"/>

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

 2.layout _ weight权重比例划分

2.1语法显示

 <LinearLayout
            android:background="#ff0000"
            android:layout_width="100dp"
            android:layout_height="100dp"/>
        <LinearLayout
            android:background="#ffff00"
            android:layout_width="100dp"
            android:layout_weight="1"
            android:layout_height="100dp"/>
        <LinearLayout
            android:background="#00ffff"
            android:layout_width="100dp"
            android:layout_height="100dp"/>

二.RelativeLayout

2.1常见属性

2.1.1根据父容器定位

1. layout _ alignParentLeft  左对齐
2. layout _ alignParentRight  右对齐
3. layout _ alignParentTop 顶部对齐
4. layout _ alignParentBottom 底部对齐
5. layout _ centerHorizontal  水平居中
6. layout _ centerVertical  垂直居中
7. layout _ centerinParent  中间位置

2.1.2根据兄弟组件定位

1. layout _ toleftof  放置于参考组件的左边
2. layout _ toRightof  放置于参考组件的右边
3. layout _ above  放置于参考组件的上方
4. layout _ below  放置于参考组件的下方
5. layout _ alignTop  对齐参考组件的上边界
6. layout _ alignBottom  对齐参考组件的下边界
7. layout _ alignLeft  对齐参考组件的左边界
8. layout _ alignRight  对齐参考组件的右边界

 2.2实现过程

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:background="#ff0000"
        android:layout_width="100dp"
        android:layout_height="100dp"/>

    <RelativeLayout
        android:background="#00ff00"
        android:layout_width="100dp"
        android:layout_height="100dp"/>

</RelativeLayout>

此两个会重合,形成相对布局:后面的会将前面的进行覆盖。

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

当给第一个RelativeLayout设置好后

android:layout_alignParentRight="true"

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

相对父容器进行布局

但是相对于兄第组件要设置,兄弟组件有很多,相对于哪个要说明清楚例如:

<RelativeLayout
        android:id="@+id/rl1"
        android:background="#ff0000"
        android:layout_alignParentRight="true"
        android:layout_width="100dp"
        android:layout_height="100dp"/>

    <RelativeLayout
        android:background="#00ff00"
        android:layout_toLeftOf="@+id/rl1"
        android:layout_width="100dp"
        android:layout_height="100dp"/>

实现效果图:

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

2.2通用属性

2.2.1margin 设置组件与父容器的边距

1. layout _ margin  上下左右偏移
2. layout _ marginLeft 
3. layout _ marginRight 
4. layout _ marginTop 
5. layout _ margiBottom 
    <RelativeLayout
        android:background="#00ff00"
        android:layout_marginLeft="100dp"
        android:layout_width="100dp"
        android:layout_height="100dp"/>

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言
 2.2.2padding 设置组件内部元素的边距

三. FrameLayout

帧布局的绘制原理是:从左上角绘制完成一个红色后,当绘制黄色的时候又是从左上角开始,会形成一个覆盖效果。(一个一个往上堆)

3.1 常见属性

 android : foreground  设置前景
 android : foregroundGravity  设置前景位置
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:layout_width="400dp"
        android:layout_height="400dp"
        android:background="#ff0000" />

    <FrameLayout
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:background="#ffff00" />

</FrameLayout>

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

<FrameLayout
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:foreground="@mipmap/ic_launcher"
        android:foregroundGravity="right|bottom"
        android:background="#ffff00" />

此时背景图片可任意到任何地方

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

 四.TableLayout

在TableLayout中写入控件,会占据一行的大小

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

 若要使想将两个按钮占据一行,使用TableRow

  <TableRow>
        <Button
            android:text="第一个"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <Button
            android:text="第二个"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </TableRow>

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

 当超过一行时,不会自动换行,直接会覆盖一部分。

4.1常见属性

android : collapseColumns 设置需要被隐藏的列的序号,从 o 开始
android : stretchColumns   设置允许被拉伸的列的列序号,从0开始
 android : shrinkColumns  设置允许被收缩的列的列序号,从 o 开始


4.1.1子控件设置属性

android : layout _ column 显示在第几列
 android : layout _ span  横向跨几列

实现效果实例:

android:collapseColumns="0"

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言第一个按钮所在的为第零列

若是隐藏多列时android:collapseColumns="0,1"即可

 android:stretchColumns="1"

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

 此时可通过拉伸将其展示,拉伸是占用其剩余空间。

android:shrinkColumns="2"

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

 同理收缩的原理也是一样的,超出的时候收缩才有效果

五.GridLayout

可以把行进行合并,也可以把列进行合并,布局会更加灵活

5.1 常见属性

android : orientation 设置水平显示还是垂直显示
android : columnCount 设置行的显示个数
android : rowCount 设置列的显示个数

5.1.1代码实例展示:

android:orientation="vertical"

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言将横向排列变换成纵向排列

android:columnCount="3"

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言一行展示三列,多余的自动换行

android:rowCount="3"
android:orientation="vertical"

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言一列排列三行 

 5.2子控件属性

 android : layout _ column  显示在第几列
android : layout _ columnSpan  横向跨几列
 android : layout _ columnWeight  横向剩余空间分配方式 
android : layout _ gravity  在网格中的显示位置
 android : layout _ row  显示在第几行
 android : layout _ rowSpan  横向跨几行
 android : layout _ rowWeight  纵向剩余空间分配方式

5.2.1属性实现实例

   <Button
        android:text="第一个"
        android:layout_row="1"
        android:layout_column="0"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"/>

实现效果如图:

relativelayout布局特有属性,Android开发基于Android studio平台,android,前端,开发语言

 设置非常灵活文章来源地址https://www.toymoban.com/news/detail-770266.html

Button
    android:text="第四个"
    android:layout_columnWeight="1"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"/>
剩余空间全部由第四个按钮占领 

到了这里,关于Android开发—布局LinearLayout,布局RelativeLayout常见属性根据父容器定位,兄弟组件定位,FrameLayout帧布局的绘制原理是,TableLayout的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 安卓开发LinearLayout的属性极其用法

    线性布局(LinearLayout)是 Android 开发中常用的布局之一,它可以按照水平(horizontal)或垂直(vertical)方向排列子视图。以下是线性布局的一些常用属性和用法: 1. **android:orientation**:指定布局方向,可以设置为\\\"horizontal\\\"(水平)或\\\"vertical\\\"(垂直)。        示例:    ``

    2024年04月13日
    浏览(9)
  • Android应用开发(4)视图布局基本属性

    Android应用开发(4)视图布局基本属性

    Android应用开发学习笔记——目录索引 本章介绍视图(View)的基本概念及其用法,包括:如何设置视图的宽度和高度,如何设置视图的外部间距和内部间距,如何设置视图的外部对齐方式和内部对齐方式等。 在Android中,什么是视图(View)?View是Android中所有控件的基类,不

    2024年02月03日
    浏览(9)
  • LinearLayout:线性布局 水平布局 垂直布局

    1.LinearLayout:线性布局,水平布局,垂直布局; Weight:权重 2.TableLayout表格布局 TableRow:添加控件表示表格行列,几个TableRow就几行。 Column:在哪列 4.帧布局FrameLayout 5.运用表格布局显示一个计算器页面:

    2024年02月09日
    浏览(8)
  • css之Flex弹性布局(父项常见属性)

    css之Flex弹性布局(父项常见属性)

    本篇博客会讲解css中的弹性布局的常见用法, 将一个div定义成flex容器,它分为主轴与交叉轴(其中左右边对应主轴的 start、end ,上下边对应交叉轴的 start、end ) 🪂行排列 flex-direction: row 🪂将行排列进行翻转排列 flex-direction: row-reverse 注意:由于翻转时主轴的start、end会进

    2024年02月08日
    浏览(8)
  • 【Android学习笔记】Android布局属性大全

    第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘

    2024年01月16日
    浏览(7)
  • css三角和css 用户见面样式,vertical-align 属性应用,溢出的文字省略号显示,常见布局技巧

    css三角和css 用户见面样式,vertical-align 属性应用,溢出的文字省略号显示,常见布局技巧

    目录 3.CSS三角  4.CSS 用户界面样式 4.1什么是界面样式  4.2轮廓线 outline  4.3 防止拖拽文本域 resize  5.vertical-align 属性 5.1图片,表单都属于行内块元素,默认的vertical-align 是基线对齐。 5.2解决图片底部默认空白缝隙问题 6.溢出的文字省略号显示 1.单行文本溢出显示省略号--必须

    2023年04月09日
    浏览(12)
  • Android LinearLayout快速设置每个item间隔

    原文地址: Android LinearLayout快速设置每个item间隔 平常使用LinearLayout的时候,有时候会需要对每个item设置间距,但是每个item都加上margin的方法实在有些繁琐 因为之前是在写JavaFx程序,里面的Vbox或Hbox都会提供一个Space的参数,可以用来快速设置每个item之间的间距 而Android这边,是没看

    2024年02月17日
    浏览(10)
  • Android LinearLayout dynamic add child ImageView,Glide load,kotlin

    Android LinearLayout dynamic add child ImageView,Glide load,kotlin

    Android LinearLayout dynamic add child ImageView,Glide load,kotlin  images.xml image.xml Android Glide onlyRetrieveFromCache downloadOnly submit ,kotlin_zhangphil的博客-CSDN博客 【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,

    2024年02月14日
    浏览(13)
  • Android UI 开发·界面布局开发·案例分析

    Android UI 开发·界面布局开发·案例分析

    目录 ​编辑 1.  线性布局(LinearLayout) 2.  相对布局(RelativeLayout) 3.  表格布局(TableLayout) 4.  帧布局(FrameLayout) 5.  网格布局(GridLayout) 6.  绝对布局(AbsoluteLayout) 补充内容:关于selector状态选择器         LinearLayout线性布局是一种最简单的布局方式,它有垂

    2024年02月03日
    浏览(8)
  • Android Studio开发学习(六)———TableLayout(表格布局)、FrameLayout(帧布局)

    Android Studio开发学习(六)———TableLayout(表格布局)、FrameLayout(帧布局)

    目录 前言 一、Tablelayout (一)Tablelayout的相关简介 (二)TableLayout使用方法 1. 当TableLayout下面写控件、则控件占据一行的大小。(自适应一行,不留空白) 2.多个组件占据一行,则配合TableRow实现 (三)三个常用属性  1.collapseColumns(隐藏列)  2.stretchColumns(拉伸列)  3.shrinkColum

    2024年04月12日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包