给出以下xml:
<ImageView
android:id="@+id/someTag"
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_marginBottom="12dp"
android:layout_marginStart="8dp"
android:tag="someTag"
app:layout_constraintBottom_toTopOf="@+id/someID"
app:layout_constraintStart_toEndOf="@+id/someID"
我想知道如何获取
的IDapp:layout_constraintBottom_toTopOf
(即“ someID”)以编程方式进行。
非常感谢!
答案 0 :(得分:4)
在此情况下,该属性值保存在ImageView
的{{1}}中,具体是ConstraintLayout.LayoutParams
,因为其父级是LayoutParams
。
ConstraintLayout
具有bottomToTop
字段,其中包含该特定约束的ConstraintLayout.LayoutParams
的ID。
只需获取View
的{{1}},将其转换为ImageView
,然后从上述字段中获取您的ID。例如:
LayoutParams
如果由于某种原因需要该ID的实际资源名称,则可以按常规使用ConstraintLayout.LayoutParams
方法获得它。那就是:
ImageView image = findViewById(R.id.someTag);
ConstraintLayout.LayoutParams lp = (ConstraintLayout.LayoutParams) image.getLayoutParams();
int bottomToTopId = lp.bottomToTop;