View
A将在父级中居中View
B(TextView
)将出现在父级的顶部。 如果我使用相对布局,则可以将视图A下移到“父对象”的垂直居中位置,或者在视图B下。 此外,#3似乎只有在相对布局中视图A低于视图B的情况下才有可能,但是当视图B的高度不足以到达视图A时,我不能使其以父项居中。 >
有人可以提供一些建议吗? 谢谢
答案 0 :(得分:0)
尝试一下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_dark"
android:text="TextView1" />
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_dark"
android:text="TextView2"/>
</LinearLayout>
以编程方式为第一个视图设置minHeight。
ViewTreeObserver observer = linearLayout.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int height = linearLayout.getHeight(); // set height/2 as minHeight for the first view
linearLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
给出此结果:
希望这会对您有所帮助:)