Android故事Android知识手机移动程序开发

RelativeLayout依赖居中View设置layout_a

2017-01-10  本文已影响33人  骑着海去看蜗牛

源码如下

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="match_parent">
    <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/avatar"
        android:layout_width="@dimen/n1_avatar"
        android:layout_height="@dimen/n1_avatar"
        android:layout_centerHorizontal="true"
        fresco:actualImageScaleType="focusCrop"
        fresco:failureImage="@drawable/sample_user"
        fresco:placeholderImage="@drawable/sample_user"
        fresco:retryImage="@drawable/sample_user"
        fresco:roundAsCircle="true" />
      <ImageView
        android:id="@+id/avatar_source"
        android:layout_width="15.0dip" 
        android:layout_height="15.0dip"
        android:layout_alignBottom="@id/avatar"
        android:layout_alignRight="@id/avatar" />

这里我对第一个View设置了layout_centerHorizontal属性,也就是水平居中,第二个View设置在第一个View的右下方。但是运行后发现,第二个View也居中显示。
然后我把第一个View的android:layout_centerHorizontal属性去掉,第二个View居然就正常显示了,还是第一次遇到。
可以推测,是由于第二个View依赖第一个View,第一个View居中显示,第二个View也继承了居中的属性,只有后续深入源码来验证这个猜想了。

上一篇下一篇

猜你喜欢

热点阅读