zoukankan      html  css  js  c++  java
  • android_layout_relativelayout(二)

    官网上的一个xml文件:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="fill_parent">
    <TextView
    android:id="@+id/label"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:text
    ="Type here:"/>
    <EditText
    android:id="@+id/entry"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:background
    ="@android:drawable/editbox_background"
    android:layout_below
    ="@id/label"/>
    <Button
    android:id="@+id/ok"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_below
    ="@id/entry"
    android:layout_alignParentRight
    ="true"
    android:layout_marginLeft
    ="10dip"
    android:text
    ="OK" />
    <Button
    android:layout_width="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_toLeftOf
    ="@id/ok"
    android:layout_alignTop
    ="@id/ok"
    android:text
    ="Cancel" />
    </RelativeLayout>

    效果图可以看官网,问题在于,xml文件规定这个cancel按钮在ok按钮的左边,但是没有说左到什么程度。从实际效果来看,仅仅是在ok按钮的左边一点点。那么,为什么cancel按钮不左的彻底一点,在一行的开头呢?

    我做个试验:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="fill_parent">
    <TextView
    android:id="@+id/label"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:text
    ="Type here:"/>
    <EditText
    android:id="@+id/entry"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:background
    ="@android:drawable/editbox_background"
    android:layout_below
    ="@id/label"/>
    <Button
    android:id="@+id/ok"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_below
    ="@id/entry"
    android:layout_alignParentRight
    ="true"
    android:layout_marginLeft
    ="10dip"
    android:text
    ="OK" />
    <Button
    android:layout_width="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_alignTop
    ="@id/ok"
    android:text
    ="Cancel" />
    </RelativeLayout>

    效果就是,此时cancel按钮虽然在ok按钮的左边,但是左的很彻底,在一行的最左边,与上一个xml文件仅仅相差一个

    android:layout_toLeftOf="@id/ok"
    个人认为这个属性默认两个控件之间相差一个默认值。
    扛不住了,再来一个
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="fill_parent">
    <TextView
    android:id="@+id/label"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:text
    ="Type here:"/>
    <EditText
    android:id="@+id/entry"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:background
    ="@android:drawable/editbox_background"
    android:layout_below
    ="@id/label"/>
    <Button
    android:id="@+id/ok"
    android:layout_width
    ="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_below
    ="@id/entry"
    android:layout_alignParentRight
    ="true"
    android:layout_marginLeft
    ="10dip"
    android:text
    ="OK" />
    <Button
    android:layout_width="wrap_content"
    android:layout_height
    ="wrap_content"
    android:layout_alignTop
    ="@id/ok"
    android:layout_toLeftOf
    ="@id/ok"
    android:layout_marginRight
    ="50dip"
    android:text
    ="Cancel" />
    </RelativeLayout>

    我硬是将cancel离右边距50个dip,也只是离ok按钮远了一点。
    突然觉得,布局的属性之间,可以人为的设置一些矛盾的属性。



  • 相关阅读:
    iOS4.3可显著选拔iPhone4和iPad速度
    传iPhone5回归金属机身 形状似touch4
    联发科月度收入跌至四年来冰点
    品评:上海电信业不可被摩登数据蒙住双眼
    分析师以为移动搜集运营商需开发数据赚钱新途径
    智能手机市场输家和赢家:Android手机厥后居上
    人大代表张新建:减速互联网及短信拘留立法
    思科任命尝试副总裁加里摩尔出任首席运营官
    运营商纷繁筹建移动付出公司
    2011年中国3G移动通讯市场瞻望与分析
  • 原文地址:https://www.cnblogs.com/itblog/p/7236641.html
Copyright © 2011-2022 走看看