日积月累:weightSum和layout_weight属性合用
解说一:weightSum和layout_weight属性合用
android:weightSum属性:定义weight总和的最大值。
假设为指定该值,全部子视图的layout_weight属性的累加值作为总和的最大值。比如。通过指定子视图的layout_weight属性为0.5。并设置LinearLayout的weight属性为1.0,实现子视图占领可用宽度的50%;
layout_weight属性:子视图的控件比例。就像我们在盒子放置其它物体,盒子可用空间的比例就是weightSum,盒子每一个控件的比例就是layout_weight。
以下我们通过一个详细的需求,结合两个属性实现。需求例如以下:居中显示button,并占领父控件的50%宽度。
编写布局文件main_activity.xml文件例如以下:
<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:gravity="center_horizontal"
android:weightSum="1.0"
tools:context=".MainActivity" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/hello_world" />
</LinearLayout>
效果例如以下图:
分析例如以下:
android:gravity="center_horizontal":实现button居中显示;
android:weightSum="1.0"、android:layout_width="0dp"和android:layout_weight="0.5":button的宽度=button本身的宽度+button的weight*父控件的宽度/父控件的weightSum;即:button的宽度=0dp+0.5*父控件的宽度/1.0=0.5父控件的宽度;
日积月累:weightSum和layout_weight属性合用的更多相关文章
- 1.1 合用weightSum属性和layout_weight属性
<打造高质量Android应用:Android开发必知的50个诀窍>第1章活用布局,本章将介绍Android布局相关的一些窍门和建议.通过本章,读者不仅可以学习如何从零开始创建特定类型的布 ...
- 50一个Android开发技巧(01 利用好layout_weight属性)
问题:如何将一个Button放置在布局的中间,并设置其宽度parent的50%? 分析:问题想要达到的效果应该是这样: (原文地址:http://blog.csdn.net/vector_yi/art ...
- android:layout_weight属性的使用方法总结
原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6282826.html android:layout_weight属性可以和其他属性配合使用,产生多 ...
- Android知识点剖析系列:深入了解layout_weight属性
摘录自:http://www.cnblogs.com/net168/p/4227144.html 前言 Android中layout_weight这个属性对于经常捣鼓UI的我们来说,肯定不会陌生.但是 ...
- 神奇的layout_weight属性
1.概述 在线性布局有时候为了控制一下屏幕的适配,可以使用layout_weight这个属性来设置权重,要注意一点,这个属性只有在Linearlayout中才有效,这个属性往往会随着android:l ...
- 我的Android进阶之旅------>关于android:layout_weight属性的详细解析
关于androidlayout_weight属性的详细解析 效果一 效果二 图3的布局代码 图4的布局代码 效果三 图7代码 图8代码 效果四 效果五 版权声明:本文为[欧阳鹏]原创文章,欢迎转载,转 ...
- Android UI: LinearLayout中layout_weight 属性的使用规则
首先来查看android sdk文档,有这么一段话 LinearLayout also supports assigning a weight to individual children with ...
- android:layout_weight属性详解 (转)
在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提 ...
- android:layout_weight属性详解(转)
在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提 ...
随机推荐
- unity中的MonoBehaviour.OnMouseDown()
在官网的api文档中仅说明了 Description OnMouseDown is called when the user has pressed the mouse button while ov ...
- AJAX基础知识点学�
1.AJAX(Asynchronous JavaScript and XML)即,异步JavaScript和XML 2.同步/异步差别 同步: ①每次进行整个页面的刷新 ②同步的链接在同一时间仅仅能有 ...
- WPF界面设计技巧(7)—模拟电梯升降的缓动动画
原文:WPF界面设计技巧(7)-模拟电梯升降的缓动动画 如同Flash一样,WPF的亮点之一也在于其擅于表现平滑的动画效果,但以移动动画来说,仅凭简单的起始位置.目标位置,所产生的动画仍会非常生硬,这 ...
- SQLiteDatabase和Contentprovider
SQLiteDatabase和Contentprovider这两个数据库,我一般是用前面一个,喜欢它的操作数据库的语句,简单明了,可惜有时遇到数据库同步的问题,有时我们需要在一个数据库下建立多个表,多 ...
- JDBC连接数据库和释放连接
用久了hibernate现在对于JDBC是怎么实现数据库的连接和释放,所以特地总结下关于JDBC的知识,目的是用于提醒自己很多Java的基础知识需要健全. package com.ssh.action ...
- hdu1664 Different Digits
求出n的倍数m,要求m使用的不同数字最少,且最小. 一开始不知道怎么搜,因为不知道m由多少个不同的数字组成. 然后百度了一下,看到和数论有关. m可能使用的数字的个数可能为一个或者两个 a,aa,aa ...
- 设计模式(一)工厂模式Factory(创建类型)
设计模式一 工厂模式Factory 在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.可是在一些情况下, new操作符直接生成对象会带来一些问题. ...
- .net SMTP发送Email 更新(可带附件)
public static void sendEmail(string toAddress, string emailbody) { var fromAddre ...
- 解决 - java.lang.OutOfMemoryError: unable to create new native thread
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题.分析问题.解决问题. 一.认识问题: 首先我们通过下面这个 测试程序 来认识这个问题: 运行的环境 ...
- 举例说,在命令模式(Command Pattern)
在前面加上 谈到命令,大部分的人脑海中会想到以下这幅画面 这在现实生活中是一副讽刺漫画,做决定的人不清楚运行决定的人有何特点,瞎指挥.外行领导内行说的就是这样的.只是在软件设计领域,我们显然要为这 ...