50一个Android开发技巧(01 利用好layout_weight属性)

50一个Android开发技巧(01 利用好layout_weight属性)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

问题:如何将一个Button放置在布局的中间,并设置其宽度parent的50%?

分析:问题想要达到的效果应该是这样:

(原文地址:
http://blog.csdn.net/vector_yi/article/details/24397733)

50一个Android开发技巧(01 利用好layout_weight属性)

这看起来不难,但非常多开发人员并不知道达到这样效果的最佳方法。


解决:在此我们将weightSum属性与layout_weight属性一起利用。

<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    android:layout_width= "fill_parent"
    android:layout_height= "fill_parent"
    android:background= "#ffffff"
    android:gravity= "center"
    android:orientation= "horizontal"
    android:weightSum= "1" ><!--1.加入android:weightSum属性-->

    <Button
        android:layout_width ="0dp"<!--2.将Button的layout_width设为0dp-->
        android:layout_height ="wrap_content"
        android:layout_weight ="0.5"<!--3.确保其占用了50%的可用空间-->
        android:text ="@string/activity_main_click_me" />

</LinearLayout>
能够注意到,在第2步将Button的layout_width设为了0dp。会不会与layout_weight有冲突?答案是不会:
  一个控件的宽度是这样计算出来的:
  
Widget’s width + Widget’s weight*Parent’s width/Parent’s weightSum

版权声明:本文博客原创文章。博客,未经同意,不得转载。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是redis,redis能做什么,redis应用场景

    什么是redis,redis能做什么,redis应用场景

    2021年10月10日
    55
  • Go语言面试题汇总[通俗易懂]

    Go语言面试题汇总[通俗易懂]正在准备golang面试的小伙伴,很荣幸,你能看到这篇文章,希望每一个看到这篇分享的小伙伴都能找到自己称心如意的工作!1、说说go语言的main函数(1)、main函数不能带参数。(2)、main函数不能定义返回值。(3)、main函数所在的包必须为main包。(4)、main函数中可以使用flag包来获取和解析命令行参数。2、在go语言中,new和make的区别?new函数是内建函…

    2022年6月17日
    110
  • 编写程序计算1~10的平方和_设计一个程序计算1~10的平方

    编写程序计算1~10的平方和_设计一个程序计算1~10的平方给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。示例 1:输入:c = 5输出:true解释:1 * 1 + 2 * 2 = 5示例 2:输入:c = 3输出:false示例 3:输入:c = 4输出:true示例 4:输入:c = 2输出:true示例 5:输入:c = 1输出:true提示:0 <= c <= 231 – 1题解双指针,注意整形溢出class Solution {public

    2022年8月8日
    7
  • 定时任务执行原理_md5算法原理

    定时任务执行原理_md5算法原理前言最近在思考实现定时任务的几种方式,比如quartz,delayqueue,scheduleThreadPool,时间轮。在对比的同时,也了解了下其简单原理,在这里描述下我对时间轮算法实现定时任务的理解。时间轮定时使用方式@Testpublicvoidtest3()throwsInterruptedException{DateTimeFormatterformatter=DateTimeFormatter.ofPattern(“yyyy-MM-d

    2022年10月1日
    2
  • 2021机械组培训

    2021机械组培训NBUT大一培训文档

    2022年5月15日
    61
  • cnpm安装和使用[通俗易懂]

    cnpm安装和使用[通俗易懂]在已经安装node.js基础上,利用npm来安装cnpm。cnpm是利用淘宝镜像来安装依赖包!优点:会比npm安装来的速度更快  操作:1、全局安装cnpm,打开cmd输入:npmi-gcnpm 2、验证是否安装成功,可以通过查看版本:cnpmversion当出现如下版本号,表示安装成功 …

    2022年10月10日
    3

发表回复

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

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