Android 布局 精准定位 平衡定位 相对定位

来源:互联网 发布:南方gps怎么导出数据 编辑:程序博客网 时间:2024/05/16 14:57

      由于第一次接触到这种商业的项目,很多界面的功能是实现了,比如长按弹出按钮,虚线划分界面等等,但最让我头疼的算是一个ListView里的许多view的定位问题,利用界面实时工具,再加上RelativeLayout,的确是可以定位,也算满意的布局,大概如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_marginTop="10dp"    android:background="@color/background"    android:orientation="vertical" >    <!-- 添加横线 -->    <View        android:layout_width="wrap_content"        android:layout_height="1.2px"        android:layout_marginBottom="5dp"        android:layout_marginLeft="14dp"        android:layout_marginRight="14dp"        android:layout_marginTop="5dp"        android:background="@color/white" />    <RelativeLayout        android:id="@+id/orderposition_item"        android:layout_width="fill_parent"        android:layout_height="40dp"        android:layout_margin="5dp"        android:layout_weight="0.06"        android:gravity="bottom"        android:orientation="horizontal" >        <TextView            android:id="@+id/instrument"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_below="@+id/text"            android:gravity="center_vertical|left"            android:paddingLeft="9.0dip"            android:text="EUR/JPY"            android:textColor="#ffffffff"            android:textSize="16dp" />        <TextView            android:id="@+id/text"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentLeft="true"            android:layout_alignParentTop="true"            android:paddingLeft="9.0dip"            android:text="單號    104395"            android:textColor="#fffffdfd"            android:textSize="12dp" />        <TextView            android:id="@+id/view"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_above="@+id/expandable_toggle_button"            android:layout_alignRight="@+id/country"            android:text="2014-5-12 14:34"            android:textColor="#fffffdfd"            android:textSize="12dp" />        <TextView            android:id="@+id/diaius"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_above="@+id/expandable_toggle_button"            android:layout_toLeftOf="@+id/view"            android:paddingLeft="5dip"            android:text="GTW  "            android:textColor="#fffffdfd"            android:textSize="12dp" />        <TextView            android:id="@+id/country"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentRight="true"            android:layout_below="@+id/view"            android:layout_marginRight="16dp"            android:text="500,000"            android:textColor="#ffffffff"            android:textSize="16dp" />        <TextView            android:id="@+id/buysell"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignBaseline="@+id/instrument"            android:layout_alignBottom="@+id/instrument"            <span style="font-size:24px;color:#ff0000;background-color: rgb(255, 255, 102);">android:layout_centerHorizontal="true"</span>            android:paddingLeft="9.0dip"            android:text="賣出"            android:textColor="@color/buysell"            android:textSize="12dp" />    </RelativeLayout></LinearLayout>
        这里最想说的是:如何使一个textview能够正好居中,这样就不用使用相对布局,写很多代码,不妨试试这段属性值:

<span style="font-size:24px;color:#ff0000;background-color: rgb(255, 255, 102);">android:layout_centerHorizontal="true"能够让你的控件水平居中,可以解决如何界面在不同的设备上或者横竖屏时候的尺寸显示问题,肯定是居中的,不影响美观。</span>
       2.上述其他地方比如一些控件在屏幕左侧或者右侧,都可以使用:

<span style="font-size:24px;color:#33cc00;">android:gravity="center_vertical|left"</span>来实现,就不用调整间距之类。

       3.但使用这些属性对于非常复杂的列表展示来说,就显得力不从心了,界面如下:


        界面总共有三列,最特殊的属于净卖出的字体,是跨越两行的,我在使用相对布局调整的时候,搞得有点焦头烂额,虽然你所看到的这个模拟器界面是显示正确了,不过一旦导入到真机里面,就会发现由于手机的分辨率都不同,还有获取的数字长度不一,显示出来的布局显得非常乱,根本没有这么完整,还有横屏的时候显示的就更不正常了:


     正常的是下面两列,应该平分屏幕的尺寸,所以我就想到了是否能够使用这个属性: android:layout_weight="1"权重这个属性,修改之前的xml文件如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_marginTop="10dp"    android:background="@color/background"    android:orientation="vertical" >    <!-- 添加横线 -->    <View        android:layout_width="wrap_content"        android:layout_height="1.2px"        android:background="@color/white" />    <!-- 第四行文字 -->    <RelativeLayout        android:id="@+id/expandable1"        android:layout_width="fill_parent"        android:layout_height="32dp"        android:layout_marginLeft="10dp"        android:layout_marginRight="10dp"        android:layout_marginTop="5dp"        android:orientation="horizontal" >        <TextView            android:id="@+id/instrument"            android:layout_width="match_parent"            android:layout_height="30dp"            android:layout_alignParentLeft="true"            android:layout_alignParentTop="true"            android:paddingTop="5dip"            android:text="EUR/USD"            android:textColor="#ffffffff"            android:textSize="16sp" />        <TextView            android:id="@+id/netFloatPL"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignBaseline="@+id/instrument"            android:layout_alignBottom="@+id/instrument"            android:layout_alignParentRight="true"            android:paddingLeft="9.0dip"            android:text="-3,990.00"            android:textColor="@color/falls"            android:textSize="16dp" />        <TextView            android:id="@+id/netLots"            android:layout_width="wrap_content"            android:layout_height="30dp"            android:layout_alignParentBottom="true"            android:layout_alignParentLeft="true"            android:layout_marginLeft="136dp"            android:paddingTop="5dip"            android:text="99,999,999"            android:textColor="#ffffffff"            android:textSize="16sp" />    </RelativeLayout>    <!-- 第二行 -->    <RelativeLayout        android:id="@+id/expandable2"        android:layout_width="wrap_content"        android:layout_height="50dp"        android:layout_marginLeft="10dp"        android:layout_marginRight="10dp"        android:layout_marginTop="0dp"        android:layout_marginBottom="5dp"        android:orientation="horizontal" >        <TextView            android:id="@+id/isNetBuysell"            android:layout_width="wrap_content"            android:layout_height="30dp"            android:layout_alignParentLeft="true"            android:layout_centerVertical="true"            android:paddingTop="5dip"            android:text="净賣出"            android:textColor="#ffffffff"            android:textSize="16sp" />        <TextView            android:id="@+id/sellFloatPL"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignBaseline="@+id/bidPrice"            android:layout_alignBottom="@+id/bidPrice"            android:layout_alignParentRight="true"            android:text="0.00"            android:textColor="#ffffffff"            android:textSize="12dp" />        <TextView            android:id="@+id/sellLots"            android:layout_width="wrap_content"            android:layout_height="30dp"            android:layout_alignTop="@+id/isNetBuysell"            android:layout_marginRight="40dp"            android:layout_toLeftOf="@+id/bidPrice"            android:text="1,500,000"            android:textColor="#ffffffff"            android:textSize="12dp" />        <TextView            android:id="@+id/sell"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignBaseline="@+id/sellLots"            android:layout_alignBottom="@+id/sellLots"            android:layout_marginLeft="25dp"            android:layout_toRightOf="@+id/isNetBuysell"            android:paddingLeft="5dip"            android:text="賣出"            android:textColor="@color/buysell"            android:textSize="12dp" />        <!-- 第三行数据 -->        <TextView            android:id="@+id/askPrice"            android:layout_width="wrap_content"            android:layout_height="30dp"            android:layout_alignLeft="@+id/bidPrice"            android:layout_alignParentBottom="true"            android:layout_alignTop="@+id/buyLots"            android:paddingRight="30dip"            android:text="1.396034"            android:textColor="#ffffffff"            android:textSize="12sp" />        <TextView            android:id="@+id/buyFloatPL"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentBottom="true"            android:layout_alignParentRight="true"            android:text="-9,990.00"            android:textColor="@color/falls"            android:textSize="12dp" />        <TextView            android:id="@+id/bidPrice"            android:layout_width="wrap_content"            android:layout_height="30dp"            android:layout_alignBaseline="@+id/sellLots"            android:layout_alignBottom="@+id/sellLots"            android:layout_toLeftOf="@+id/sellFloatPL"            android:gravity="right"            android:paddingRight="30dip"            android:text="0.0000"            android:textColor="#ffffffff"            android:textSize="12dp" />        <TextView            android:id="@+id/buy"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignLeft="@+id/sell"            android:layout_alignParentBottom="true"            android:paddingLeft="5dip"            android:text="買入"            android:textColor="@color/buysell"            android:textSize="12dp" />        <TextView            android:id="@+id/buyLots"            android:layout_width="wrap_content"            android:layout_height="30dp"            android:layout_alignRight="@+id/sellLots"            android:layout_alignTop="@+id/buy"            android:paddingLeft="40dip"            android:text="1,200,00000"            android:textColor="#ffffffff"            android:textSize="12dp" />    </RelativeLayout></LinearLayout>
     不过有一个前提是:首先声明只有在Linearlayout中,该属性才有效。之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。如下所示,注意点使LineLayoutwidth属性应该为<LinearLayout
        android:id="@+id/expandable3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
         android:layout_weight="1"
        android:layout_marginBottom="5dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="0dp"
        android:orientation="horizontal" >因为这里有多个布局,使用其他的没有作用。

      使用权重调整之后如下:

  

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_marginTop="10dp"    android:background="@color/background"    android:orientation="vertical" >    <!-- 添加横线 -->    <View        android:layout_width="wrap_content"        android:layout_height="1.2px"        android:background="@color/white" />    <!-- 第一行文字 -->    <!--<RelativeLayout        android:id="@+id/expandable1"        android:layout_width="fill_parent"        android:layout_height="32dp"        android:layout_marginLeft="10dp"        android:layout_marginRight="10dp"        android:layout_marginTop="5dp"        android:orientation="horizontal" >-->    <LinearLayout        android:id="@+id/expandable1"        android:orientation="horizontal"        android:layout_width="fill_parent"        android:layout_height="30dp"        android:baselineAligned="false"        android:layout_weight="1">        <TextView            android:id="@+id/instrument"            android:layout_width="fill_parent"            android:layout_weight="1"            android:layout_height="fill_parent"            android:paddingTop="5dip"            android:paddingLeft="10dp"            android:text="EUR/USD"            android:textColor="#ffffffff"            android:textSize="16sp" />        <TextView            android:id="@+id/netLots"            android:layout_weight="1"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:gravity="center"            android:paddingTop="5dip"            android:text="99,999,999"            android:textColor="#ffffffff"            android:textSize="16sp" />        <TextView            android:id="@+id/netFloatPL"            android:layout_weight="1"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:paddingRight="10.0dip"            android:paddingTop="5dip"            android:gravity="right"            android:text="-3,990.00"            android:textColor="@color/falls"            android:textSize="16dp" />    </LinearLayout>    <!-- 第二行 -->    <!--<RelativeLayout        android:id="@+id/expandable2"        android:layout_width="wrap_content"        android:layout_height="50dp"        android:layout_marginLeft="10dp"        android:layout_marginRight="10dp"        android:layout_marginTop="0dp"        android:layout_marginBottom="5dp"        android:orientation="horizontal" >-->    <LinearLayout        android:orientation="horizontal"        android:id="@+id/expandable2"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_weight="1">        <LinearLayout            android:orientation="vertical"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:layout_weight="1">            <TextView                android:id="@+id/isNetBuysell"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingTop="5dip"                android:paddingLeft="8dip"                android:text="净賣出"                android:textColor="#ffffffff"                android:textSize="16sp" />            <TextView                android:id="@+id/fuzhu"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingTop="5dip"                android:text=""                android:textColor="#ffffffff"                android:textSize="16sp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:layout_weight="1">            <TextView                android:id="@+id/sell"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingLeft="10dp"                android:text="賣出"                android:textColor="@color/buysell"                android:textSize="12dp" />            <TextView                android:id="@+id/buy"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingLeft="10dp"                android:text="買入"                android:textColor="@color/buysell"                android:textSize="12dp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:layout_weight="1">            <TextView                android:id="@+id/sellLots"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="1,500,000"                android:textColor="#ffffffff"                android:textSize="12dp" />            <TextView                android:id="@+id/buyLots"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="1,200,0000"                android:textColor="#ffffffff"                android:textSize="12dp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:layout_weight="1">            <TextView                android:id="@+id/bidPrice"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="0.0000"                android:textColor="#ffffffff"                android:textSize="12dp" />            <TextView                android:id="@+id/askPrice"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="1.396034"                android:textColor="#ffffffff"                android:textSize="12sp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:layout_weight="1">            <TextView                android:id="@+id/sellFloatPL"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingRight="10.0dip"                android:gravity="right"                android:text="0.00"                android:textColor="#ffffffff"                android:textSize="12dp" />            <!-- 第三行数据 -->            <TextView                android:id="@+id/buyFloatPL"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingRight="10.0dip"                android:gravity="right"                android:text="-9,990.00"                android:textColor="@color/falls"                android:textSize="12dp" />        </LinearLayout>    </LinearLayout></LinearLayout>

实现原理就是总的竖向划分为上下两部分,在下面的总的部分,再划分为5个部分,均分就可以。遇到数据需要右对齐的情况,先使textview里面text文字位置为right或者left、center,可以指定距离左右边距为一样的如


<span style="font-size: 12px;">                </span><span style="font-size:24px;color:#ff9900;"><strong><em>android:paddingRight="10.0dip"         android:gravity="right"  //使textview或者其他空间的文字居右</em></strong></span>
<span style="font-size:24px;"><strong><em style="color: rgb(255, 153, 0);">   </em><span style="color:#999999;">操作的时候遇到这样的问题:如果布局或者textview的布局宽度不为</span></strong></span><pre name="code" class="html" style="color: rgb(255, 153, 0);">                android:layout_width="fill_parent"                android:layout_height="fill_parent" 就不会平分。
<span style="color: rgb(255, 153, 0);">   </span><span style="color:#ffcc66;background-color: rgb(102, 102, 102);">因为:<span style="font-family: arial, 宋体, sans-serif, tahoma, 'Microsoft YaHei'; font-size: 14.44444465637207px; line-height: 23.99305534362793px;">fill_parent</span><br style="font-family: arial, 宋体, sans-serif, tahoma, 'Microsoft YaHei'; font-size: 14.44444465637207px; line-height: 23.99305534362793px;" /><span style="font-family: arial, 宋体, sans-serif, tahoma, 'Microsoft YaHei'; font-size: 14.44444465637207px; line-height: 23.99305534362793px;">设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。均分之后,势必让整个textview变大,所以需要使用这个属性。效果如下:</span></span>
   <img src="http://img.blog.csdn.net/20150731113931812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<span style="font-size:24px;color:#33ff33;"><strong><em><u>横屏显示效果:</u></em></strong></span>
<img src="http://img.blog.csdn.net/20150731113948254?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
        上面如果我不是均分的话,要按照比如划分的时候,有些控件会不显示在界面上,很显然是不正确的,<strong><span style="color:#999999;">这里还有一个问题就是:下列的两排显示虽然按照权重均分了,但要求其中的两个显示的小一点,又该如何划分权重呢:</span></strong>
<strong><span style="color:#999999;"><span style="color: rgb(85, 85, 85); font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(213, 231, 183);">按比例显示LinearLayout内各个子控件,需设置android:layout_width="0dp",如果为竖直方向的设置android:layout_height="0dp"。在这种情况下某子个控件占用LinearLayout的比例为:本控件weight值 / LinearLayout内所有控件的weight值的和。</span></span></strong>
<span style="font-family:simsun;"><span style="font-size: 14.44444465637207px; line-height: 20.98958396911621px;"><span style="color:#555555;font-weight: bold;">知道这些之后,我们就得把第二行显示的各个linerLayout的</span></span></span><pre name="code" class="html" style="font-weight: bold; color: rgb(85, 85, 85);"><strong><span style="color:#999999;"><span style="color: rgb(85, 85, 85); font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(213, 231, 183);">android:layout_width="0dp"设置成这样的,设置完之后,就可以真正意义的按照比例来划分整个显示的比例,上述xml代码调整如下,成功解决:</span></span></strong>
<span style="font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(213, 231, 183);"></span><pre name="code" class="html"><span style="color:#555555;font-weight: bold;"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_marginTop="10dp"    android:background="@color/background"    android:orientation="vertical" >    <!-- 添加横线 -->    <View        android:layout_width="wrap_content"        android:layout_height="1.2px"        android:background="@color/white" />    <LinearLayout        android:id="@+id/expandable1"        android:orientation="horizontal"        android:layout_width="fill_parent"        android:layout_height="30dp"        android:baselineAligned="false"        android:layout_weight="1">        <TextView            android:id="@+id/instrument"            android:layout_width="fill_parent"            android:layout_weight="1"            android:layout_height="fill_parent"            android:paddingTop="5dip"            android:paddingLeft="10dp"            android:text="EUR/USD"            android:textColor="#ffffffff"            android:textSize="16sp" />        <TextView            android:id="@+id/netLots"            android:layout_weight="1"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:gravity="center"            android:paddingTop="5dip"            android:text="99,999,999"            android:textColor="#ffffffff"            android:textSize="16sp" />        <TextView            android:id="@+id/netFloatPL"            android:layout_weight="1"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:paddingRight="10.0dip"            android:paddingTop="5dip"            android:gravity="right"            android:text="-3,990.00"            android:textColor="@color/falls"            android:textSize="16dp" />    </LinearLayout>    <!-- 第二行 -->    <LinearLayout        android:orientation="horizontal"        android:id="@+id/expandable2"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:layout_weight="1">        <LinearLayout            android:orientation="vertical"            android:layout_width="0dp"            android:layout_height="fill_parent"            android:layout_weight="0.8">            <TextView                android:id="@+id/isNetBuysell"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingTop="5dip"                android:paddingLeft="8dip"                android:text="净賣出"                android:textColor="#ffffffff"                android:textSize="16sp" />            <TextView                android:id="@+id/fuzhu"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingTop="5dip"                android:text=""                android:textColor="#ffffffff"                android:textSize="16sp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            android:layout_width="0dp"            android:layout_height="fill_parent"            android:layout_weight="0.3">            <TextView                android:id="@+id/sell"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingLeft="10dp"                android:text="賣出"                android:textColor="@color/buysell"                android:textSize="12dp" />            <TextView                android:id="@+id/buy"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingLeft="10dp"                android:text="買入"                android:textColor="@color/buysell"                android:textSize="12dp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            android:layout_width="0dp"            android:layout_height="fill_parent"            android:layout_weight="1">            <TextView                android:id="@+id/sellLots"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="1,500,000"                android:textColor="#ffffffff"                android:textSize="12dp" />            <TextView                android:id="@+id/buyLots"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="1,200,0000"                android:textColor="#ffffffff"                android:textSize="12dp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            </span><span style="color:#ff0000;">android:layout_width="0dp"</span><span style="color:#555555;font-weight: bold;">            android:layout_height="fill_parent"            android:layout_weight="0.8">            <TextView                android:id="@+id/bidPrice"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="0.0000"                android:textColor="#ffffffff"                android:textSize="12dp" />            <TextView                android:id="@+id/askPrice"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="30dp"                android:paddingRight="20dp"                android:gravity="right"                android:text="1.396034"                android:textColor="#ffffffff"                android:textSize="12sp" />        </LinearLayout>        <LinearLayout            android:orientation="vertical"            android:layout_width="0dp"            android:layout_height="fill_parent"            </span><span style="color:#ff0000;">android:layout_weight="1"></span><span style="color:#555555;font-weight: bold;">            <TextView                android:id="@+id/sellFloatPL"                android:layout_weight="1"                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingRight="10.0dip"                android:gravity="right"                android:text="0.00"                android:textColor="#ffffffff"                android:textSize="12dp" />            <!-- 第三行数据 -->            <TextView                android:id="@+id/buyFloatPL"                </span><span style="color:#ff0000;">android:layout_weight="1"</span><span style="color:#555555;font-weight: bold;">                android:layout_width="fill_parent"                android:layout_height="fill_parent"                android:paddingRight="10.0dip"                android:gravity="right"                android:text="-9,990.00"                android:textColor="@color/falls"                android:textSize="12dp" />        </LinearLayout>    </LinearLayout></LinearLayout></span>

效果如下:

<strong><span style="color:#999999;"><span style="color: rgb(85, 85, 85); font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(213, 231, 183);"><img src="http://img.blog.csdn.net/20150731115833068?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></span></span></strong>
<span style="font-family:simsun;">可以看到卖出的比例是明显比其他小的。</span>
<span style="font-family:simsun;">   看来针对普通的布局,使用linerlayout 或者RelativeLayout相结合的方式是可以搞定的,如果遇到比例不同需要多行显示的情况,建议使用</span>
<span style="color: rgb(85, 85, 85); font-family: simsun; font-size: 14.44444465637207px; line-height: 20.98958396911621px; white-space: pre; background-color: rgb(240, 240, 240);"></span><pre name="code" class="html"><span style="color: rgb(153, 153, 153);"><span style="color: rgb(85, 85, 85); font-family: simsun; font-size: 14px; line-height: 21px; background-color: rgb(213, 231, 183);"></span></span><pre name="code" class="html"> android:layout_weight="1",记得布局<pre name="code" class="html" style="font-size: 14.44444465637207px; line-height: 20.98958396911621px;"><span style="color:#ff0000;">android:layout_width="0dp"这个属性设置为0dp,才能很好的按照比例划分区域,如果不是这个,就只能均分。</span><pre name="code" class="html" style="font-size: 14.44444465637207px; line-height: 20.98958396911621px;"><span style="color:#555555;"><strong>android:orientation="vertical" >这个属性决定布局的方向是否为水平和垂直</strong></span>
结合间距、文字位置,就可以完成复杂布局的布置。

0 0