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


相关推荐

  • Service Mesh详解

    Service Mesh详解ServiceMesh简介:这个词最早使用由开发Linkerd的Buoyant公司提出,并在内部使用。2016年9月29日第一次公开使用这个术语。2017年的时候随着Linkerd的传入,ServiceMesh进入国内技术社区的视野。最早翻译为“服务啮合层”,这个词比较拗口。用了几个月之后改成了服务网格。微服务(Microservices)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块(SmallBuildingBlocks)为基础,利用模块化

    2025年5月31日
    6
  • 两列向量正交有什么性质线性代数_线性代数正交化怎么算

    两列向量正交有什么性质线性代数_线性代数正交化怎么算正交向量  正交是垂直的令一种说法,两个向量正交意味着两个向量的夹角是90°。  这可以用直角三角形的三边解释:  当x和y正交时,二者的点积是0,反过来也一样。这个结论在n维空间也适用,当Rn空间内的两个向量x和向量y正交时:  如果x是零向量,xTy还是0,也意味着零向量和任意向量正交。正交子空间  正交性还可以推广到子空间,如果说一个子空间V和另一个子空间W…

    2025年5月26日
    7
  • JAVA经典面试题附答案(持续更新版)[通俗易懂]

    JAVA基础JAVA中的几种基本类型,各占用多少字节?下图单位是bit,非字节1B=8bitString能被继承吗?为什么?不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变。平常我们定义的Stringstr=”a”;其实和Stringstr=newString(“a”)还是有差异的。前者默认调用的是String.valueO…

    2022年4月18日
    63
  • setcontentview什么意思_java的set方法

    setcontentview什么意思_java的set方法转载请以链接形式标明出处:本文出自:103style的博客baseonAndroid-29文中相关的源码有删减可以带着以下问题来看本文:为什么从代码设置属性和主题,得在setContentView之前?setContentView添加的View加载完成的回调方法?setContentView的执行流程?LayoutInflater的inflate方法不…

    2022年4月19日
    96
  • 免费的天气预报API–谷歌,雅虎,中央气象台

    免费的天气预报API–谷歌,雅虎,中央气象台

    2021年12月4日
    74
  • 【Unity3D 灵巧小知识点】 ☀️ | Unity中如何使用代码切换场景

    【Unity3D 灵巧小知识点】 ☀️ | Unity中如何使用代码切换场景Unity小科普老规矩,先介绍一下Unity的科普小知识:Unity是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。Unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。也可以简单把Unity理解为一个游戏引擎,可以用来专业制作游戏!Unity小知识点学习Unity中如何使用代码切.

    2022年5月29日
    45

发表回复

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

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