转自:http://netsky1990.blog.51cto.com/2220666/997452

 
    在Android开发中常用到线性布局LinearLayout对界面进行具体的创建,其中android:layout_weight这个属性很重要,它可以按照程序员的控制,根据终端屏幕的大小,以相应的比例显示控件的大小,而不会把控件的大小写死,造成无法根据屏幕来自动调整控件本身的大小。
 
需要注意以下几点:
一、LinearLayout内的控件的layout_width设置为"wrap_content"
    例:
             android:layout_height="fill_parent"
             android:layout_weight="1"
             android:text="1"/>
       
             android:layout_height="fill_parent"
             android:layout_weight="2"
             android:text="1"/>
       
             android:layout_height="fill_parent"
             android:layout_weight="3"
             android:text="1"/>
    这个时候3个TextView是按照1:2:3的比例进行显示的,但是如果TextView内的文本长度过长,则会改变效果,控件并没有按照比例显示大小,比如:
   
             android:layout_height="fill_parent"
             android:layout_weight="1"
             android:text="1111111111111111111111111111111111111111111"/>
       
             android:layout_height="fill_parent"
             android:layout_weight="2"
             android:text="1"/>
       
             android:layout_height="fill_parent"
             android:layout_weight="3"
             android:text="1"/>
    办法是设置android:layout_width="wrap_content"为android:layout_width="0dp"。这样控件里的内容并不会影响控件的大小。
二、LinearLayout内的控件的layout_width设置为"fill_parent"
    例:fill_parent"
             android:layout_height="fill_parent"
             android:layout_weight="1"
             android:text="1"/>
        fill_parent"
             android:layout_height="fill_parent"
             android:layout_weight="2"
             android:text="1"/>
    这个时候整个宽度平分为3块,第一个TextView占了两块,也就是weight值越小的比例越大
    当有三个控件时,问题就来了:
        fill_parent"
             android:layout_height="fill_parent"
             android:layout_weight="1"
             android:text="1"/>
        fill_parent"
             android:layout_height="fill_parent"
             android:layout_weight="2"
             android:text="2"/>
        fill_parent"
             android:layout_height="fill_parent"
             android:layout_weight="3"
             android:text="3"/>
    此时第三个TextView没有显示,把上面三个TextView对应的weight分别改为2,3,4,又可以看到第三个控件。
    对于这种情况还不知道问题的原因是什么。
    (上面的图片好像加载有问题,估计是网络原因吧,等网络好的时候在补,想看效果的可以去我上面转的那个网址里看,或者自己试试)

Android 控件在布局中按比例放置[转]的更多相关文章

  1. 探究android控件及布局

    控件(widget) 1. TextView(该控件的一些需要注意的属性,下同) gravity="center"textSize="24sp"textColo ...

  2. android控件基本布局

    <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android=&qu ...

  3. Android 控件属性介绍

    1.LinearLayout(线性布局): 可以分为水平线性:android:orientation= " horizontal " 和垂直线性:android:orientati ...

  4. Android控件属性大全(转)

    http://blog.csdn.net/pku_android/article/details/7365685 LinearLayout         线性布局        子元素任意: Tab ...

  5. Android 手机卫士--自定义组合控件构件布局结构

    由于设置中心条目中的布局都很类似,所以可以考虑使用自定义组合控件来简化实现 本文地址:http://www.cnblogs.com/wuyudong/p/5909043.html,转载请注明源地址. ...

  6. Android编程 控件与布局

    控件和布局的继承结构 常用控件 1.TextView <?xml version="1.0" encoding="utf-8"?> <Line ...

  7. android控件的属性

    android控件的属性 本节描述android空间的位置,内容等相关属性及属性的含义 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ( ...

  8. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

  9. UIAutomator定位Android控件的方法

    UIAutomator各种控件定位的方法. 1. 背景 使用SDK自带的NotePad应用,尝试去获得在NotesList那个Activity里的Menu Options上面的那个Add note菜单 ...

随机推荐

  1. 【洛谷】P1196 银河英雄传说(并查集)

    题目描述 公元五八○一年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山压顶 ...

  2. CC1,IceBreak,Hello world ,hello toastmaster

    this is my first speech:icebreak in toastmaster,it is precious memory for me,this is first time that ...

  3. 0007-一套完整的CRUD_DEMO

    好久没写了,一直在忙别的东西,但是想想,还是把之前的补充完整好了.给大家一个参考,也为自己留个备份. 首先写一个Html作为内容载体,主要结构如下 <div ui-view="navb ...

  4. nginx 1.12 配置解析php

    server { listen 80; server_name foo.com; root /path; index index.html index.htm index.php; location ...

  5. question?

  6. maven引入源码

    选中要添加的源码的项目右键-->debug--->debugs-configurations-->source-->java project

  7. Linux下编译、安装并启动apache

    安装步骤如下: 1.  首先去http://httpd.apache.org/download.cgi上下载需要的apache源码,然后存放至/usr/local/src下[此源码存放路径可任意指定] ...

  8. 页面生成柱状图 --- D3.js

    转载自:https://www.cnblogs.com/fastmover/p/7779660.html D3.js从入门到"放弃"指南 前言 近期略有点诸事不顺,趁略有闲余之时, ...

  9. rails 部署 nginx + passenger

    转自 http://segmentfault.com/a/1190000002911605 https://ruby-china.org/topics/16245 运行 RAILS_ENV=produ ...

  10. MySQL系统时间函数NOW(),CURRENT_TIMESTAMP(),SYSDATE()的区别

    CURRENT_TIMESTAMP是NOW的同义词,也就是说两者是相同的. SYSDATE函数返回的是执行到当前函数时的时间,而NOW返回的是执行SQL语句时的时间. 测试语句: SELECT NOW ...