在XML中,你可以这样做:
android:layout_above="@+id/foo"
使元素位于另一个元素foo
之上。
如何以编程方式执行此操作?
虽然RelativeLayout.LayoutParams
可以添加规则RelativeLayout.ABOVE
但不允许我指定我希望我的视图位于哪个元素上。
答案 0 :(得分:1)
不允许我指定我希望我的视图在哪个元素上面。
当然可以
[来自文档](http://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html#addRule(int,int))
anchor另一个用作锚点的视图的id,或一个布尔值(对于true表示为TRUE,对于false表示为0)。对于不引用其他兄弟的动词(例如,ALIGN_WITH_PARENT_BOTTOM),只需使用-1。
文档中有两种addRule()
方法。只需使用带有第二个参数的那个,并给出你想要它固定在上面的View
的id。
事实上,你提到的那个,明确地说
此方法仅应用于不引用其他兄弟
的约束
(强调我的)
答案 1 :(得分:-1)
您必须为视图设置ID。您可以执行myview.setId(id)或在ressource文件ids.xml中声明一个id,然后在setId(R.id.declared_id)中声明。