Android相对布局“;“不是兄弟姐妹”;错误

Android相对布局“;“不是兄弟姐妹”;错误,android,android-layout,android-relativelayout,Android,Android Layout,Android Relativelayout,我有这样的3列布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ... /> <LinearLayout> <LinearLayout> <ImageView android:id="@+id/imageIcon" /> .... </LinearLayout>

我有这样的3列布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ... />
  <LinearLayout>
    <LinearLayout>
       <ImageView
          android:id="@+id/imageIcon" />
       ....
    </LinearLayout>
    <LinearLayout>
      ....
    </LinearLayout>
    <LinearLayout>
      ....
    </LinearLayout>
  </LinearLayout>
  <TextView 
     android:layout_toRightOf="@id/imageIcon" />
</RelativeLayout>

....
....
....

我在代码的TextView部分遇到了一个“不是兄弟姐妹”错误。TextView的目的是充当“帮助”显示。我试图确保TextView始终位于ImageView的右侧。有更好的方法吗?

如果要将两个视图对齐在一起,它们必须位于同一父布局中。正如您将从布局中注意到的,TextView不在ImageView所在的线性布局中。我建议尝试将文本视图与图像视图所在的线性布局对齐。

android:layout\u toRightOf
用于在相对布局中定位元素,但图像视图位于线性布局中


您可以为LinearLayout指定一个Id,并将文本放置在该Id的右侧。

当视图位于同一父布局中,但此处您的TextView位于LinearLayout中时,可以使用“@Id/imageIcon”,因此,如果您愿意,可以将android:layout\u-toRightOf设置为您的线性布局。

我最终使用了自定义对话框。我必须计算对话框的正确位置,并使用以下方法设置值:

getWindow().getAttributes().y = mLocY;
getWindow().getAttributes().x = mLocX;

不知何故,android studio提供了一个解决方案,说明这不是最佳实践,但您可以在build.gradle(应用程序)中设置以下代码

安卓{ 林特选项{ checkReleaseBuilds为false 异常错误 } ....///代码的其余部分 }


在我要求Studio制作一个签名的apk之前,我对编译没有任何问题。然后问题出现了…我用上面的代码覆盖了它

他出了布局,把他放进了布局我不知怎么搞清楚了问题的原因。我在问是否有办法达到想要的效果。所以你的文本视图显示在第三列或图像图标之后?就在第二列上方第一列的旁边。如果我这样做的话。第一列会变成“胖”。我正在尝试在我的第一个专栏中弹出一个关于项目的帮助。然后我建议你一起重新考虑布局。我目前正在探索这个选项。我希望有办法挽救这种局面。这太荒谬了。约束的一个关键好处是,它们可以将元素定位在视图层次结构限制之外。如果我使用第一列的LinearLayout的id,我将无法在该特定列上使用多个“帮助”显示。如果我在第1列中使用LinearLayout id,则会发生相同的错误。您可以将ImageView包装为水平LinearLayout,然后将TextView添加到其中,使其显示在图像旁边。