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按钮远了一点。
    突然觉得,布局的属性之间,可以人为的设置一些矛盾的属性。



  • 相关阅读:
    【转】ubuntu 12.04 LTS 网络配置要点
    Sqlite3在FS_S5PC100开发板上的移植
    java中常用的字符串的截取方法
    一种很好的程序调试方法!
    win7修复MBR
    .tar.xz文件的解压
    linux环境下LED驱动编程一例
    Eclipse设置:背景与字体大小和xml文件中字体大小调整
    ARM LDR与MOV的区别
    windows下从任意目录快速进入CMD
  • 原文地址:https://www.cnblogs.com/itblog/p/7236641.html
Copyright © 2011-2022 走看看