开头语:

本人最近在自学Android,虽然本人有2年Java Web的开发经验。但是发现Android的自学之路并不是那么平坦,我没有Android真机。但是有一个window phone的手机。开始想做一个通讯录。但是没有参考软件。这样一来我参考wp平台的通讯录去开发本软件,这其中遇到了一些关于sqlite、键盘布局等问题。本文说一说布局的权重问题吧

个人理解:

权重是一个在指定组件内等分该组件空间的一种手段。在android中的设置方式为android:layout_weight="X"

 

本人案例截图:


说明:

如上图我做的键盘排版每四个按照为一行。详细的布局为4个按钮在一个LinearLayout中。那么只要将按钮的权重都设置为1即可。

那么就会把父元素(LinearLayout)组件4等分。[因为这里有四个按钮。当然有2个按钮则2等分。我这么说我想大家应该都可以理解了吧]

部分代码解析:

  1. <LinearLayout
  2. android:id="@string/l1"
  3. android:layout_width="match_parent"
  4. android:layout_height="wrap_content"
  5. android:layout_marginTop="50dip"
  6. android:orientation="horizontal" >
  7. <Button
  8. android:id="@+id/buttonjing"
  9. android:layout_width="match_parent"
  10. android:layout_height="50dip"
  11. android:layout_weight="1"
  12. android:text="@string/jing" />
  13. <Button
  14. android:id="@+id/buttonA"
  15. android:layout_width="match_parent"
  16. android:layout_height="50dip"
  17. android:layout_weight="1"
  18. android:text="@string/A" />
  19. <Button
  20. android:id="@+id/buttonB"
  21. android:layout_width="match_parent"
  22. android:layout_height="50dip"
  23. android:layout_weight="1"
  24. android:text="@string/B" />
  25. <Button
  26. android:id="@+id/buttonC"
  27. android:layout_width="match_parent"
  28. android:layout_height="50dip"
  29. android:layout_weight="1"
  30. android:text="@string/C" />
  31. </LinearLayout>

说明:

OK,上面代码为从#号到C按钮一行的排版。这一行的排版。可以看到4个btn的属性的权重都为1.其中width最好是设置上。

 

误区说明:

在尝试LinearLayout布局此界面之前我用过TableLayout和TableRow去搭配。虽然TableRow组件也可以用权重4等分。但是发现其高度无法调整。总是占用手机屏幕的半屏。再次说明一下。避免再犯!!

权重平等分布局And TableRow布局误区的更多相关文章

  1. duilib各种布局的作用,相对布局与绝对布局的的意义与用法

    大多数刚使用duilib的朋友时候非常依赖duilib自带的设计器,用他可以拖拉控件,可视化的做出自己想要的界面.可是用一段时间就会发现原带的设计器有很多bug,时不时会崩溃,支持的控件数量有限,属性 ...

  2. Qt之布局管理--基本布局

    Qt提供的布局类以及他们之间的继承关系QLayout-----QGirdLayout | ---QBoxLayout----QHBoxLayout | --QVBoxLayout----------- ...

  3. webapp,liveapp: 流式布局和rem布局

    liveapp场景应用,一般针对的是移动端,近来也是很火,颇有一些感受,拿来分享一下. 页面宽度范围: 一般移动端页面我们的像素范围是320px-640px,最大640px,最小320px,所以设计稿 ...

  4. Android:控件布局(表格布局)TableLayout

    TableLayout继承LinearLayout 实例:用表格布局实现计算机布局>>>>>>>>>>>> 有多少个TableR ...

  5. Android基础_2 Activity线性布局和表格布局

    在activity的布局中,线性布局和表格布局是最简单的,这次分别从线性布局,表格布局以及线性布局和表格混合布局做了实验,实验中只需要编写 相应的xml的代码,java代码不需要更改,因为我们这里只是 ...

  6. android布局之线性布局

    LinearLayout 线性布局有两种,分别是水平线性布局和垂直线性布局,LinearLayout属性中android:orientation为设置线性布局当其="vertical&quo ...

  7. 第24讲 UI_布局 之帧布局 表格布局 绝对布局

    第24讲 UI_布局 之帧布局 表格布局 绝对布局 3. FrameLayout(帧布局) 帧布局是从屏幕的左上角(0,0)坐标开始布局,多个组件层叠排序,后一个组件总会将前一个组件所覆盖,除非最后一 ...

  8. iOS下的界面布局利器-MyLayout布局框架

      Swift:TangramKit: https://github.com/youngsoft/TangramKit OC:MyLayout: https://github.com/youngsof ...

  9. CSS_圣杯布局和双飞翼布局

    参考: 圣杯布局的来历是2006年发在a list part上的这篇文章: http://alistapart.com/article/holygrail 双飞翼布局介绍-始于淘宝UED: http: ...

随机推荐

  1. 深入理解java虚拟机(十) Java 虚拟机运行时栈帧结构

    运行时栈帧结构 栈帧(Stack Frame) 是用于虚拟机执行时方法调用和方法执行时的数据结构,它是虚拟栈数据区的组成元素.每一个方法从调用到方法返回都对应着一个栈帧入栈出栈的过程. 每一个栈帧在编 ...

  2. SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)

    在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+r ...

  3. LightOJ 1098(均值不等式,整除分块玄学优化)

    We all know that any integer number n is divisible by 1 and n. That is why these two numbers are not ...

  4. Mathcad操作tips:函数、符号计算

    函数 1. 利用“:”进行函数定义,如 2. 函数支持range variable输入,如 3. 常用数学函数可以在Insert - Function菜单中寻得. 4. 当不确定某个名字是否是函数名时 ...

  5. 基于.net standard 的动态编译实现

    在前文[基于.net core 微服务的另类实现]结尾处,提到了如何方便自动的生成微服务的客户端代理,使对于调用方透明,同时将枯燥的东西使用框架集成,以提高使用便捷性.在尝试了基于 Emit 中间语言 ...

  6. jquery 全选反选 .prop('checked',!$(this).is(':checked'));

    //废话不说直接上代码 $("#").click(function(){ $("#content-div label input[type='checkbox']&quo ...

  7. 小程序:如何让scroll-view包含内容完整滚动

    1.关于scroll-view scroll-view是小程序用来控制可滚动视图区域的组件. 通过设置scroll-x ="true" 或 scroll-y="true& ...

  8. CodeChefSeries Sum (伯努利数+生成函数+FFT)

    题面 传送门 给定\(a_1,..,a_n\),定义\(f(x,k)=\sum_{i=1}^n(x+a_i)^k,g(t,k)=\sum_{x=0}^tf(x,k)\),给定\(T,K\),请你对\( ...

  9. 洛谷P3806 【模板】点分治1

    题目描述 给定一棵有n个点的树 询问树上距离为k的点对是否存在. 输入输出格式 输入格式: n,m 接下来n-1条边a,b,c描述a到b有一条长度为c的路径 接下来m行每行询问一个K 输出格式: 对于 ...

  10. Python——深拷贝和浅拷贝

    深拷贝.浅拷贝 1. 浅拷贝 浅拷贝是对于一个对象的顶层拷贝 import copy a = [[1, 2], 3] b = copy.copy(a) print(id(a)) print(id(b) ...