首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在android xml中,一个布局的底部垂直于另一个布局的中间?

在android xml中,可以通过使用LinearLayout和设置layout_gravity属性来实现一个布局的底部垂直于另一个布局的中间。

具体步骤如下:

  1. 使用LinearLayout作为父布局,设置它的orientation属性为"vertical",这样子布局会按照垂直方向排列。
  2. 在LinearLayout中添加两个子布局,分别为上方布局和下方布局。
  3. 对于上方布局,可以使用layout_weight属性来调整其在垂直方向上的占比。设置layout_weight为1,表示上方布局将占据可用空间的1/3。
  4. 对于下方布局,使用layout_gravity属性设置为"center_vertical",表示该布局在垂直方向上居中对齐。

以下是示例代码:

代码语言:txt
复制
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!-- 上方布局 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@android:color/holo_blue_light">

        <!-- 上方布局的内容 -->

    </LinearLayout>

    <!-- 下方布局 -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="@android:color/holo_green_light">

        <!-- 下方布局的内容 -->

    </LinearLayout>

</LinearLayout>

上述代码中,上方布局的高度为0dp,并且设置了layout_weight为1,表示它将占据可用空间的1/3。下方布局使用了layout_gravity属性设置为"center_vertical",使其在垂直方向上居中对齐。

对应腾讯云的相关产品,推荐使用腾讯云移动应用开发平台(https://cloud.tencent.com/product/madp)来帮助开发和部署移动应用,并提供云端基础设施的支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android LayoutInflater(布局服务)

本节引言: 本节继续带来Android系统服务LayoutInflater(布局服务),说到布局,大家第一时间 可能想起是写完一个布局xml,然后调用ActivitysetContentView...一般Android动态加载布局或者添加控件用得较多,本节我们就来学习下他实际开发 一些用法~ 1.LayoutInflater相关介绍 1)Layout是什么鬼?...又或者设置margin等等,这个由你决定~ 2.纯Java代码加载布局 我们早已习惯了使用XML生成我们需要布局,但是一些特定情况下,我们 需要使用Java代码往我们布局动态添加组件或者布局...另外,关于这个setContentView( )他设置视图节点是整个XML根节点! 2)Java代码动态加载xml布局 接下来的话,我们换一个,这次加载xml文件!动态地添加xml文件!..." android:text="我是布局一个小按钮" /> 接着到我们MainActivity.java在这里动态加载xml布局

80610
  • android如何获取view布局高度与宽度详解

    前言 可能很多情况下,我们都会有activity获取view 尺寸大小(宽度和高度)需求。面对这种情况,很多同学立马反应:这么简单问题,还用你说?你是不是傻。。...当我们 onCreate() 方法获取某个 View 组件宽度和高度,直接调用 getWidth()、getHeight()、getMeasuredWidth()、getMeasuredHeight...OnGlobalLayoutListener 监听事件 布局发生改变或者某个视图可视状态发生改变时调用该事件,会被多次调用,因此需要在获取到视图宽度和高度后执行 remove 方法移除该监听事件...UI 事件队列会按顺序处理事件, setContentView() 被调用后,事件队列中会包含一个要求重新 layout message,所以任何 post 到队列 Runnable 对象都会在...像在自定义,加载一次布局,应该选中最后一个post方法最为使用。 另外还用,应该是第三种方式,一般在外部使用,比如需要等待Recyclerview绘制完成后进行操作。

    5.9K10

    负margin页面布局应用

    2017-11-07 07:23:04 两栏布局 页面中经常会遇到两列情况,比如说左侧栏固定宽度,右侧栏自适应宽度,此时可以用flex布局方式,但是这种方式ie8上不兼容,但是也可以用table...这里我们来说用margin负值来实现两栏布局。..."height: 400px;float: left;width: 200px;background: red;margin-left: -100%;"> 如上代码,即可实现一个两列布局...去除列表右边距 项目中经常会使用浮动列表展示信息,为了美观通常为每个列表之间设置一定间距(margin-right),当父元素宽度固定式,每一行最右端li元素右边距就多余了,去除方法通常是为最右端...去除列表最后一个li元素border-bottom 列表我们经常会添加border-bottom值,最后一个liborder-bottom往往会与外边框重合,视觉上不雅观,往往要移除。

    1.1K20

    rem响应式布局应用

    rem响应式布局应用 最近做了一些响应式页面,遇到了一些问题,想了些解决方法,在这里总结一下。目前响应式主流实现方式是百分比布局,加上媒体查询@media screen。...利用img元素等比缩放特点 这种情况最为常见,只需要百分比设置img元素宽度,img元素高度就会随着宽度等比缩放。这也是我们响应式界面遇到最主要场景。...如果是正常一个img元素,使用这种方式进行等比缩放自然是最优做法,但是用这种方式做容器背景图片就会有些问题,例如,当在不同尺寸下需要替换背景图片时,这种方式就没有通过cssbackground...比百分比布局更具优势 百分比布局始终是相对父元素,对于嵌套比较深元素,大家是不是计算百分比时候异常头疼,稍不留神就弄错分母了,并且,嵌套过深也会影响精度。...而rem布局分母只有一个就是视口宽度。妈妈再也不用担心我弄错分母了。 3.

    1.6K40

    Android 简单实现一个流式布局示例

    本篇文章主要介绍了Android 简单实现一个流式布局示例,分享给大家,具体如下: ? 流式布局应该是我们很常见一种布局了,很多场景下都会遇到它,例如:标签之类功能等。...用轮子不如造轮子来爽,这里自己简单实现下流式布局: onMeasure onLayout 通过以上两个方法我们就可以完成对流式布局基本操作: onMeasure @Override protected...sizeHeight:height); } onMeasure方法负责设置子控件测量模式和大小 根据所有子控件设置自己宽和高,一旦宽度超出最大宽度便进行换行处理。...FlowLayout.LayoutParam(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);这个方法,有的小伙伴过程可能点不出来这个方法...super(source); } public LayoutParam(LayoutParams source) { super(source); } } 好了,这样一个简单流式布局就结束了

    45320

    Android开发-Listview显示不同视图布局

    使用场景 重写ListViewBaseAdapter时,我们常常在getView()方法复用convertView,以提高性能。...convertViewItem为单一同种类型布局时,能够回收并重用,但是多个Item布局类型不同时,convertView回收和重用会出现问题。...比如有些行为纯文本,有些行则是图文混排,这里纯文本行为一类布局,图文混排行为第二类布局。单一类型ListView很简单,下面着重介绍一下ListView包含多种类型视图布局情形。...2.ListView包含不同Item布局 我们需要做这些工作:   1)重写 getViewTypeCount() – 该方法返回多少个不同布局   2)重写 getItemViewType...(int) – 根据position返回相应Item   3)根据view item类型,getView创建正确convertView 3.案例 import java.util.ArrayList

    2.2K30

    深入解析AndroidsetContentView加载布局原理

    前言 对于Android开发者来说,setContentView大家再熟悉不过了,我们Activity首先就是要用它加载我们布局,但是应该有一部分人是不知道加载布局原理,也包括我,今天就从源码角度分析...准备工作 由于我们使用Android API部分源码是隐藏,当我们AndroidStudio是不能找到源码,我们可以去官网下载相应源码去查看,当然GitHub下载相应版本API替换我们sdk...我们看一下一个简单布局 <?xml version="1.0" encoding="utf-8"?...); 回到最初setContentView一句代码,如上,我们也就好理解了,它就是将我们布局文件inflate到mContentParent。...例如我们AppCompatActivitysetContentView传入布局文件,是一个线程布局,该布局下有一个Button,则查看到层级结构 ?

    1.5K31

    基于Android布局动态添加view两种方法(总结)

    一、说明 添加视图文件时候有两种方式:1、通过xml文件定义layout;2、java代码编写 二、前言说明 1.构造xml文件 2.LayoutInflater 提到addview,首先要了解一下...为了便于理解,我们可以将它与findViewById()作一比较,二者都是实例化某一对象,不同是findViewById()是找xml布局文件下具体widget控件实例化,而LayoutInflater...找res/layout/下xml布局文件来实例化。...view.setOrientation(LinearLayout.HORIZONTAL);// 设置子ViewLinearlayout// 为垂直方向布局 //定义子View两个元素布局...布局动态添加view两种方法(总结)就是小编分享给大家全部内容了,希望能给大家一个参考。

    6.3K21

    Android通知和自定义通知布局

    Android通知(Notification)是Android重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么我们程序中使用通知和自定义通知布局。...:text="发送第二种通知"/> 布局两个按钮分别用来发送系统布局通知和我们自定义布局通知,接下来是我们自定义通知布局,新建一个布局文件notification.xml...别忘了AndroidManifest.xml布局文件中注册SecondActivity: <activity android:name="SecondActivity" android...:label="第二个Activity"> 我们接着来看notifySecondNotification方法,在这个方法我们实现一个自定义布局通知,我们注意到onCreate...言归正传,这个广播干什么用呢:自定义通知布局我们要对两个按钮进行事件处理,自定义通知布局,我们必须使用RemoteViews对象来对布局文件两个按钮进行事件处理,而 RemoteViews

    3.5K20

    matplotlib改变figure布局和大小实例

    72 dpi时,1 宽度线是 1 像素。144 dpi时,这条线就是 2 像素。 span 因此,更大dpi就像放大镜一样。所有元素都通过镜头放大倍数进行缩放。...通过表 1 图形 1 3 5 对比,可以看出这一点。 综上: 图形尺寸(figsize)确定图形大小(以英寸为单位)。 这给出了轴(和其他元素)图中空间量。...较大图形尺寸将允许显示更长文本,更多轴或更多标记标签(表1图形3与图形4,图形5与图形6对比可看出,像素尺寸相同时,图形尺寸越大,所能容纳内容越多)。...dpi 确定了图形每英寸包含像素数,图形尺寸相同情况下, dpi 越高,则图像清晰度越高(表1 1,3,5 对比可看出) 以上这篇matplotlib改变figure布局和大小实例就是小编分享给大家全部内容了...,希望能给大家一个参考。

    3.1K10

    CSS实现前端布局更巧妙方案! flex 布局通过使用 margin 实现水平垂直居中以及其他常见前端布局

    工作原理是: Flexbox 布局,margin: auto; 会根据父容器剩余空间自动调整元素外边距,直到子元素居中。...传统布局,margin: auto; 主要用于水平居中对齐,不适用于垂直居中。因为普通流布局垂直方向是由文档流控制,不支持类似 Flexbox 自动调整行为。...2.2 实现更多实际开发布局 示例 1:实现子元素部分集中 实际开发,我们常遇到这样一种需求:将元素水平分布容器内,其中某些元素需要靠近在一起,与其他元素保持一定自适应距离。...使用 space-around 时如果最后一行元素数量不满,元素会在行均匀分布,导致它们集中中间,而不是靠左或对齐其他行。 大家遇到这些情况时是不是就在考虑换用 grid 布局了呢?...通过动态计算 margin,我们能够简单而有效地实现等宽子项平均分布,使布局更加简洁明了。 三、总结 在前端开发,实现各种页面布局一直是一个常见需求。

    9910

    Kafka 消息存储磁盘上目录布局是怎样

    Kafka 消息是以主题为基本单位进行归类,各个主题在逻辑上相互独立。每个主题又可以分为一个或多个分区,分区数量可以主题创建时候指定,也可以之后修改。...每条消息发送时候会根据分区规则被追加到指定分区,分区每条消息都会被分配一个唯一序列号,也就是通常所说偏移量(offset),具有4个分区主题逻辑结构见下图。 ?...举例说明,向主题topic-log中发送一定量消息,某一时刻topic-log-0目录布局如下所示。 ?...某一时刻,Kafka 文件目录布局如上图所示。每一个根目录都会包含最基本4个检查点文件(xxx-checkpoint)和 meta.properties 文件。...创建主题时候,如果当前 broker 不止配置了一个根目录,那么会挑选分区数最少那个根目录来完成本次创建任务。 - END -

    1.3K50

    经典布局:如何定义子控件父容器排版位置?

    Flutter一个完整界面通常就是由这些小型、单用途基本控件元素依据特定布局规则堆砌而成。...如果我们只需要将子Widget设定间距,则可以使用另一个单子容器控件Padding进行内容填充: Padding( child: Text("Container(容器)UI框架一个很常见概念...接下来,我们再来看看单子Widget布局容器另一个常用容器Center。正如它名字一样,Center会将对其子Widget居中排列。...如同AndroidLinearLayout、前端Flex布局一样,Flutter也有类似的概念,即将子Widget按行水平排列Row,按列垂直排列Column,以及负责分配这些子Widget布局方向剩余空间...层叠Widget布局:Stack与Positioned 有些时候,我们需要让一个控件叠加在另一个控件上面,比如在一张图片上放置一段文字,又或是图片某个区域放置一个按钮。

    4.6K30
    领券