我有一个像这样的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的右侧。这样做有更好的方法吗?
答案 0 :(得分:1)
android:layout_toRightOf
用于在相对布局中定位元素,但您的ImageView位于LinearLayout内。
您可以为LinearLayout指定ID,并将文本放在右侧。
答案 1 :(得分:0)
如果要将两个视图对齐,它们必须位于同一父布局中。正如您将从布局中注意到的那样,TextView不在您的ImageView所在的LinearLayout内。我建议尝试将TextView与ImageView所在的LinearLayout对齐。
答案 2 :(得分:0)
android:layout_toRightOf =“@ id / imageIcon”可以在你的视图处于相同的父布局时使用,但是你的TextView在LinearLayout中,所以如果你想要你可以给你的LinearLayout提供android:layout_toRightOf。
答案 3 :(得分:0)
我最终使用了自定义对话框。我必须计算对话框的正确位置并使用以下方法设置值:
getWindow().getAttributes().y = mLocY;
getWindow().getAttributes().x = mLocX;
答案 4 :(得分:0)
不知何故,android studio提供了一个解决方案,说这不是最好的做法,但你可以在build.gradle(app)下面设置代码
android { lintOptions { checkReleaseBuilds false abortOnError为false } ....... ///其余的代码 }
在我要求Studio制作签名的apk之前,我没有遇到编译问题。然后出现问题......我用上面的代码
覆盖了它