我将自定义视图设置为底部,其父级高度最初为200dp。当我点击自定义视图时,我必须将父级设置为匹配父级。以便稍后我将在全屏幕上设置自定义视图的动画。
正在发生的事情是,当我设置相对布局(父视图)的大小以编程方式匹配父级时,它的子级自定义视图也将向上移动。我怎么能来这个?
以下是布局定义:
<RelativeLayout
android:id="@+id/rlTreatmentDone"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_alignParentBottom="true"
android:clickable="false"
android:gravity="bottom">
<com.firsttreatmentflow.doneTreatment.DoneControllerView
android:id="@+id/doneViewController"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:minHeight="200dp"></com.firsttreatmentflow.doneTreatment.DoneControllerView>
<LinearLayout
android:id="@+id/llArrowText"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/ivUpArrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/tvDone"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp"
android:clickable="true"
android:src="@drawable/arrow_up"
android:visibility="gone" />
<TextView
android:id="@+id/tvDone"
style="@style/BodyBoldTextStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/bottomReferenceView"
android:layout_centerHorizontal="true"
android:clickable="true"
android:text="Done"
android:textColor="@color/uikit_white"
android:visibility="gone" />
</LinearLayout>
现在单击自定义视图,我将更改布局高度,如下所示
llArrowText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
rlTreatmentDone.setLayoutParams(params);
doneViewController.setStartControllerClicked(true);
}
});
答案 0 :(得分:0)
在您的代码中,您已将LayoutParams高度设置为WRAP_CONTENT
而不是MATCH_PARENT
,我猜您实际上打算做什么?这将使"@+id/rlTreatmentDone"
更小并将其向上移动。