• 被relativeLayout的grivate center 折腾死了


    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/online_error_layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#ffffff"
        android:orientation="vertical" >
    
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="120dp"
            android:focusableInTouchMode="false"
            android:src="@drawable/wifi_open" />
    
    
    
        <TextView
            android:id="@+id/tv_nonet"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/imageView1"
            android:layout_marginTop="2dp"
            android:text="@string/online_error_tip"
            android:textColor="@color/zz_black_60_percent_transparent"
            android:textSize="13sp" />
    
    
        <Button
            android:id="@+id/online_error_btn_retry"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/tv_nonet"
            android:layout_marginTop="40dp"
            android:layout_marginBottom="14dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:text="@string/online_error_retry"
            android:textSize="15sp" />
    </RelativeLayout>

    一开始的时候布局是:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/online_error_layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#ffffff"
        android:gravity="center"
        android:orientation="vertical" >
    
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="120dp"
            android:focusableInTouchMode="false"
            android:src="@drawable/wifi_open" />
    
        <Button
            android:id="@+id/online_error_btn_retry"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="14dp"
            android:layout_marginLeft="15dp"
            android:layout_marginRight="15dp"
            android:text="@string/online_error_retry"
            android:textSize="15sp" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/imageView1"
            android:layout_marginTop="2dp"
            android:text="@string/online_error_tip"
            android:textColor="@color/zz_black_60_percent_transparent"
            android:textSize="13sp" />
    
    </RelativeLayout>

    没想到relativeLayout的grivate :center会影响到
    我把bottom的那个东西删除之后的布局。就是整个布局都会居中,而不是全屏的显示了。

    如果有空间贴着父控件的底部,

     android:layout_alignParentBottom="true"

    ,那么grivate =center不会有太大的作用,因为整个布局已经被占用完了,而如果你没有这个控件,你还写了grivate =center,那么控件的

    android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="120dp"

    控件的marginTop就会在布局的中间算margin,而不是顶部。

    有grivate=center的布局效果:
    有grivate=center的布局效果:

    没有grivate=center的布局效果:
    这里写图片描述

  • 相关阅读:
    给自己新申请的阿里云服务器ECS免费搭建WDCP环境
    maven run 配置jre VM arguments配置 (转)
    JSON.stringify 语法实例讲解(转)
    Vue-cli proxyTable 解决开发环境的跨域问题(转)
    JS几种数组遍历方式以及性能分析对比(转 未经测试,先mark)
    调用web接口跨域问题
    Jquery获取浏览器窗口和Body长宽
    idea tab页签颜色不明显,自定义颜色解决。
    疯狂Java学习笔记(009)
    疯狂Java学习笔记(001)
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/10568741.html
Copyright © 2020-2023  润新知