我有一个布局,其中红色区块在黑色区域居中,蓝色矩形需要在白色和红色区块之间居中。有人知道如何制作这种布局的框架吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
其他答案都没有真正回答问题,问题清楚地标明,中心的红色框和红色框上方的蓝色框。
为了实现这一点,你需要将相对布局中的参数与BlueBox的参数混合,这是一个使用TextViews的例子:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/textView2"
android:layout_below="@id/textView1"
android:layout_centerHorizontal="true"
android:gravity="center_vertical"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
textView2位于textView1和parentTop之上,因此它将占用所有空间。然后你使用它自己的内部重力使垂直居中,使其内容居中。