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



  • 相关阅读:
    Android开发学习之路-插件安装、检查应用是否安装解决方案
    Android开发学习之路-自定义控件(天气趋势折线图)
    Android开发学习之路-记一次CSDN公开课
    Android开发学习之路-RecyclerView滑动删除和拖动排序
    Android开发学习之路-带文字的图片分享
    Android开发学习之路-Android N新特性-多窗口模式
    Android开发学习之路-Volley源码解析
    Android开发学习之路-Android Studio开发小技巧
    Android开发学习之路-提升用户体验小技巧
    Android开发学习之路-Android6.0运行时权限
  • 原文地址:https://www.cnblogs.com/itblog/p/7236641.html
Copyright © 2011-2022 走看看