Android之使用weight属性实现控件的按比例分配空间

从今天开始,把看书时候的知识点整理成博客,这个比较简单,估计有经验的都用过,weight属性 在做Android布局的时候,经常遇到需要几个控件按比例分配空间的情况比如下图效果在底部设置两个button,占据底部宽度一部分的同时,保持1:3的比例,当然了,这么难看的布局用处不大,仅是用来说明weight的用法布局代码如下:

大家好,又见面了,我是全栈君。

从今天开始,把看书时候的知识点整理成博客,

这个比较简单,估计有经验的都用过,weight属性

 

在做Android布局的时候,经常遇到需要几个控件按比例分配空间的情况

比如下图效果

Android之使用weight属性实现控件的按比例分配空间

在底部设置两个button,占据底部宽度一部分的同时,保持1:3的比例,

当然了,这么难看的布局用处不大,仅是用来说明weight的用法

布局代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="6"
    android:gravity="bottom|center_horizontal" >

    <Button
        android:id="@+id/bn_main_left"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="left" />

    <Button
        android:id="@+id/bn_main_right"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:text="right" />

</LinearLayout>

其中LinearLayout里面有个weightSum,这个属性是用来设置LinearLayout的weight总和,

Button里面的layout_weight就是用来设置button占据LinearLayout的空间的大小

 

形象一点说,LinearLayout像一个盒子,weightSum设置了盒子的大小为6,

往盒子里放了两个button,给左边button设置layout_weight=”1″,占据1/6空间,

右边button设置了layout_weight=”3″,占据3/6空间

这样两个button加起来占据了LinearLayout的4/6,

 

如果没有给LinearLayout设置weightSum的话,则默认为所有控件layout_weight的总和.

 

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121344.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月11日 上午11:00
下一篇 2022年3月11日 上午11:00


相关推荐

  • meta property=og标签含义及作用

    meta property=og标签含义及作用

    2022年2月9日
    184
  • 海量数据处理技巧

    海量数据处理技巧数据时代来临,数据量的爆炸式增长是最为显著的特征。当高性能硬件的普及还跟不上这样的数据大潮时,如何在有限的时空资源内处理海量数据成为了计算机科学以及数理统计等领域最大的挑战。所谓“数据处理”,在本文中特指通过计算机技术,对海量数据进行存储、统计、查询等操作。我将在下面介绍一些基本的海量数据处理的方法,供大家参考。需要明确的一点是,现实情况复杂多变,所以对于海量数据处理这样大的主题,是不可能用一…

    2022年6月23日
    33
  • 卷积基本计算公式

    卷积基本计算公式1 理论公式 2 tensorflow 中使用输入图片大小 W WFilter 大小 F F 步长 stridesSpadd 的像素数 P 输出大小为 NxNpadding SAME 时 会在图像的周围填 0 padding VALID 则不需要 即 P 0 一般会选 SAME 以来减缓图像变小的速度 二来防止边界信息丢失 即有些图像边界的信息发挥作用较少 部署到真实的机器上时 会遇到 Tensorflow 和 Caffe 的 padding 在左边补零和右边不相同的

    2026年3月18日
    2
  • 微信小程序生成二维码、程序码、海报

    微信小程序生成二维码、程序码、海报文章目录前言一 二维码 1 选用 getUnlimited 后端 java3 前端 小程序页面 二 普通二维码使用总结 前言微信二维码 方便传播和列表 可以用于签到扫码 分销二维码 团长二维码 分享海报等一系列二维码效果如图 一 二维码 1 选用 getUnlimited getUnlimited 因为它 永久有效 数量暂无限制 使用后端生成 返回到前端显示 2 后端 javaservice 写好的服务第一步 获取 access token 我这里把它做一个一下处理 把他存在 red

    2026年3月18日
    0
  • 使用OpenClaw部署Flexus AI智能体Skills

    使用OpenClaw部署Flexus AI智能体Skills

    2026年3月13日
    3
  • java 时间轮算法_时间轮算法(TimingWheel)是如何实现的?

    java 时间轮算法_时间轮算法(TimingWheel)是如何实现的?前言我在2.SOFAJRaft源码分析—JRaft的定时任务调度器是怎么做的?这篇文章里已经讲解过时间轮算法在JRaft中是怎么应用的,但是我感觉我并没有讲解清楚这个东西,导致看了这篇文章依然和没看是一样的,所以我打算重新说透时间轮算法。时间轮的应用并非JRaft独有,其应用场景还有很多,在Netty、Akka、Quartz、ZooKeeper、Kafka等组件中都存在时间轮的踪影。我们…

    2022年10月1日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号