You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ImageView已存在但不可见,需覆盖两个RelativeLayout交叉区域问题

解决ImageView跨RelativeLayout交叉区域不显示的问题

我一眼就看出你遇到的核心问题是视图层级覆盖,再加上约束定位的小偏差,咱们一步步来搞定:

问题根源

你在XML里把@+id/spinner这个ImageView放在了LinearLayout的前面,但Android布局的规则是:XML里后声明的视图层级更高,会显示在前面。所以你的LinearLayout(包含两个RelativeLayout)直接把ImageView给挡住了——这就是为啥你能看到边框但看不到图像的原因。

另外,你给ImageView设置的约束是绑定到LinearLayout的四边,这会让它填满整个LinearLayout,完全不符合你要覆盖两个RelativeLayout交叉区域的需求。

解决方案步骤

  1. 调整视图顺序:把spinner的ImageView移到LinearLayout的后面,让它的层级更高,不会被下方的布局遮挡。
  2. 修正约束定位:把ImageView的约束绑定到两个RelativeLayout的交叉区域(也就是中间的myRectangleView附近),精准定位到你想要的位置。
  3. 确认资源有效性:确保@drawable/spinner确实存在于你的res/drawable目录中;如果是矢量图,记得在app模块的build.gradle里开启矢量支持:
    android {
        defaultConfig {
            vectorDrawables.useSupportLibrary = true
        }
    }
    
  4. 优化布局稳定性:把两个RelativeLayout的layout_height从100dp改成0dp,配合layout_weight=1让它们平分LinearLayout的高度,交叉区域的位置会更稳定。

修改后的完整布局代码

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main_inference"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:baselineAligned="false"
        android:orientation="vertical">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="@color/colorCoral">

            <View
                android:id="@+id/p1circle1"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignStart="@+id/p1Tracker"
                android:layout_alignLeft="@+id/p1Tracker"
                android:layout_alignTop="@+id/p1Tracker"
                android:layout_alignBottom="@+id/p1Tracker"
                android:layout_marginStart="9dp"
                android:layout_marginLeft="9dp"
                android:layout_marginTop="4dp"
                android:layout_marginBottom="4dp"
                android:background="@drawable/circle" />

            <View
                android:id="@+id/p1circle2"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignTop="@+id/p1Tracker"
                android:layout_alignEnd="@+id/p1Tracker"
                android:layout_alignRight="@+id/p1Tracker"
                android:layout_alignBottom="@+id/p1Tracker"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_marginStart="199dp"
                android:layout_marginLeft="199dp"
                android:layout_marginTop="4dp"
                android:layout_marginEnd="11dp"
                android:layout_marginRight="11dp"
                android:layout_marginBottom="4dp"
                android:background="@drawable/circle" />

            <View
                android:id="@+id/p1Tracker"
                android:layout_width="wrap_content"
                android:layout_height="28dp"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginStart="154dp"
                android:layout_marginLeft="154dp"
                android:layout_marginTop="137dp"
                android:layout_marginEnd="154dp"
                android:layout_marginRight="154dp"
                android:background="@drawable/trackbox" />

            <ImageView
                android:id="@+id/imageView4"
                android:layout_width="wrap_content"
                android:layout_height="108dp"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentBottom="true"
                android:layout_marginStart="139dp"
                android:layout_marginLeft="139dp"
                android:layout_marginTop="30dp"
                android:layout_marginEnd="137dp"
                android:layout_marginRight="137dp"
                android:layout_marginBottom="144dp"
                tools:srcCompat="@tools:sample/avatars" />

            <TextView
                android:id="@+id/usernamep1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginStart="156dp"
                android:layout_marginLeft="156dp"
                android:layout_marginTop="6dp"
                android:layout_marginEnd="156dp"
                android:layout_marginRight="156dp"
                android:fontFamily="sans-serif-condensed"
                android:text="Username"
                android:textColor="@color/White"
                android:textSize="18sp" />
        </RelativeLayout>

        <View
            android:id="@+id/myRectangleView"
            android:layout_width="match_parent"
            android:layout_height="3dp"
            android:background="@drawable/rectangle" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:background="@color/colorBackground2">

            <TextView
                android:id="@+id/usernamep2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginStart="156dp"
                android:layout_marginLeft="156dp"
                android:layout_marginTop="253dp"
                android:layout_marginEnd="156dp"
                android:layout_marginRight="156dp"
                android:fontFamily="sans-serif-condensed"
                android:text="Username"
                android:textColor="@color/White"
                android:textSize="18sp" />

            <View
                android:id="@+id/p1circle4"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignTop="@+id/p1circle3"
                android:layout_alignEnd="@+id/p1Tracker2"
                android:layout_alignRight="@+id/p1Tracker2"
                android:layout_marginTop="0dp"
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:background="@drawable/circle" />

            <View
                android:id="@+id/p1circle3"
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_alignStart="@+id/p1Tracker2"
                android:layout_alignLeft="@+id/p1Tracker2"
                android:layout_alignTop="@+id/p1Tracker2"
                android:layout_alignBottom="@+id/p1Tracker2"
                android:layout_marginStart="10dp"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="4dp"
                android:layout_marginBottom="4dp"
                android:background="@drawable/circle" />

            <View
                android:id="@+id/p1Tracker2"
                android:layout_width="wrap_content"
                android:layout_height="28dp"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_marginStart="154dp"
                android:layout_marginLeft="154dp"
                android:layout_marginTop="110dp"
                android:layout_marginEnd="154dp"
                android:layout_marginRight="154dp"
                android:background="@drawable/trackbox" />

            <ImageView
                android:id="@+id/imageView6"
                android:layout_width="wrap_content"
                android:layout_height="108dp"
                android:layout_alignParentStart="true"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentBottom="true"
                android:layout_marginStart="138dp"
                android:layout_marginLeft="138dp"
                android:layout_marginTop="144dp"
                android:layout_marginEnd="138dp"
                android:layout_marginRight="138dp"
                android:layout_marginBottom="30dp"
                tools:srcCompat="@tools:sample/avatars" />
        </RelativeLayout>
    </LinearLayout>

    <!-- 移到LinearLayout后面,调整约束定位到交叉区域 -->
    <ImageView
        android:id="@+id/spinner"
        android:layout_width="351dp"
        android:layout_height="62dp"
        app:layout_constraintBottom_toTopOf="@+id/myRectangleView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/linearLayout"
        app:srcCompat="@drawable/spinner" />

</android.support.constraint.ConstraintLayout>

内容的提问来源于stack exchange,提问作者brent_mb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:19:13